(4)把引用的symbol元素换成svg元素,这个svg元素会显式使用use元素的width和height属性(use元素没有这些属性则是100%);
(5)把引用的symbol元素的图形内容深拷贝到替换的svg中。
2.use元素引用一个svg元素
这种情况下,视觉效果就相当于:
(1)把use元素换成g元素;
(2)把use的除x,y,width,height,xlink:href外的属性全部移到g元素;
(3)把use的x,y属性变成translate(x,y),追加到g元素的transform属性最后;
(4)把引用的svg元素包括内容拷贝过来,这个svg元素会显式使用use元素的width和height属性(use元素没有这些属性则使用原来的值);
3.其他情况
这些情况下的视觉效果就相当于:
(1)把use元素换成g元素;
(2)把use的除x,y,width,height,xlink:href外的属性全部移到g元素;
(3)把use的x,y属性变成translate(x,y),追加到g元素的transform属性最后;
(4)把引用元素拷贝过来;
看下面例子的视觉效果:
<svgwidth=”10cm”height=”3cm”viewBox=”0010030″version=”1.1″
xmlns=”http://www.w3.org/2000/svg”xmlns:xlink=”http://www.w3.org/1999/xlink”>
<desc>ExampleUse03-‘use’witha’transform’attribute</desc>
<defs>
<rectid=”MyRect”x=”0″y=”0″width=”60″height=”10″/>
</defs>
<rectx=”.1″y=”.1″width=”99.8″height=”29.8″
fill=”none”stroke=”blue”stroke-width=”.2″/>
<usexlink:href=”#MyRect”
transform=”translate(20,2.5)rotate(10)”/>
</svg>
下面的图和上面的图外观是一样的:
<svgwidth=”10cm”height=”3cm”viewBox=”0010030″
xmlns=”http://www.w3.org/2000/svg”version=”1.1″>
<desc>ExampleUse03-‘use’witha’transform’attribute</desc>
<rectx=”.1″y=”.1″width=”99.8″height=”29.8″
fill=”none”stroke=”blue”stroke-width=”.2″/>
<gtransform=”translate(20,2.5)rotate(10)”>
<rectx=”0″y=”0″width=”60″height=”10″/>
</g>
</svg>
实用参考:
脚本索引:http://msdn.microsoft.com/zh-cn/library/ff971910(v=vs.85).aspx
开发中心:https://developer.mozilla.org/en/SVG
热门参考:http://www.chinasvg.com/
官方文档:http://www.w3.org/TR/SVG11/









