SVG SVG元素

时间:2020-01-09 10:44:26  来源:igfitidea点击:

所有SVG图像的根元素都是 <svg>元素。外观如下:

<svg  xmlns="http://www.w3.org/2000/svg"
      xmlns:xlink="http://www.w3.org/1999/xlink">

</svg>

请记住两个命名空间声明,否则Firefox不会将SVG文件呈现为图像,而是将其解释为任何其他XML文件。

嵌套SVG元素

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元素中设置)。