梯度服务器作为SVG中的外部文件

Bol*_*wyn 5 css url svg gradient external

可能重复:
在SVG中包含SVG文件

SVG中的fill属性接受一个url来指向一个渐变/模式元素,一个所谓的'paint server'的实例.

问题:是否可以在任何浏览器(当然,不是IE)中使用外部SVG文件中定义的渐变?喜欢,在rect.svg,

<rect fill="url(grad.svg#my_grad)" />
Run Code Online (Sandbox Code Playgroud)

和相应的<linearGradient />元素grad.svg

这将是非常好的,因为那时可以将他的所有渐变/模式存储在一个文件中并获得缓存...

干杯,

更新:这个问题,就其含义而言,是SVG包含SVG文件的副本(其中问题至少得到了Firefox的回答).我保持开放,因为我认为标题和标签更有可能被你找到.

räp*_*äph 3

SVG 规范只是声明您可以使用 URI - 所以这应该是可能的。浏览器支持当然是另一回事。

我刚刚编写并测试了一个小示例文件。

它不能在 Inkscape 中工作 - 但可以与 Apache Batik Toolkit 一起工作。

对于浏览器支持,我将文件上传到browsershots.org并总结一下:有些浏览器确实支持外部渐变 - 有些不支持。例如:

  • 火狐 3.0 否
  • 火狐 3.5 是
  • Opera 9.64、10.0 是
  • Safari 4 否
  • 铬2.0 否