SVG 图像是使用各种元素创建的,这些元素分别应用于矢量图像的结构、绘制与布局。如果svg不是根元素,svg 元素可以用于在当前文档(比如说,一个HTML文档)内嵌套一个独立的svg片段 。 这个独立片段拥有独立的视口和坐标系统。
所有SVG图像的根元素都是 <svg>元素。svg元素使用规则:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> </svg>
请记住不要忘记使用两个命名空间声明,否则Firefox不会将SVG文件呈现为图像,而是将其解释为任何其他XML文件。
SVG元素可以相互嵌套,如下所示:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <svg > </svg > </svg>
嵌套SVG元素可用于将SVG形状分组在一起,并将其放置为一个集合。嵌套在svg元素内的所有形状都将相对于其包围svg元素的位置(x,y)定位(x,y)。通过移动封闭svg元素的x和y坐标 ,您也可以移动所有嵌套的形状。
这是一个在两个svg元素内嵌套两个矩形的示例。除颜色外,两个矩形的x,y,高度和宽度定义相同。包围的 svg元素具有不同的x值。由于矩形的x位置是相对于其封闭svg元素x位置解释的,因此两个矩形在不同的x位置显示。
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <svg x="10"> <rect x="10" y="10" height="100" width="100" style="stroke:#ff0000; fill: #0000ff"/> </svg> <svg x="200"> <rect x="10" y="10" height="100" width="100" style="stroke:#009900; fill: #00cc00"/> </svg> </svg>测试看看
注意名称空间属性仅在根svg元素上是必需的。svg如果未设置任何名称空间,则假定所有嵌套元素都在默认名称空间(在根元素中设置)内。
这是运行上面代码生成的SVG图像: