我在SVG文件的defs部分中有一个linearGradient,并使用fill="url(#myGradientName)"引用它。 到目前为止,这很好用。
我认为我应该能够将整个defs部分放入自己的SVG文件中,然后只需从所有SVG图像中引用它。也就是说,类似于:
我认为我应该能够将整个defs部分放入自己的SVG文件中,然后只需从所有SVG图像中引用它。也就是说,类似于:
styles.svg:
<svg xmlns=...>
<defs>
<linearGradient id="myGradient" ...>
</linearGradient>
</defs>
</svg>
image.svg:
<svg xmlns=...>
<rect width="100" height="100" fill="styles.svg#myGradient"/>
</svg>
但是我似乎无法使样式生效。我的ID语法是否有误,因为它在该文件之外(styles.svg#myGradient)?我是否需要以某种方式明确地先包含该文件?
我一直在查看SVG规范,看起来应该是可能的,但是没有任何示例显示它被执行过。
编辑:FOP FAQ建议正确的语法是fill="url(grad.svg#PurpleToWhite)",但在Gecko或Webkit中不起作用。那是正确的,没有人支持它,还是我做错了什么?