css - 渐变服务器作为 SVG 中的外部文件

标签 css url svg external gradient

<分区>

Possible Duplicate:
Include SVG file in SVG

SVG 中的 fill 属性接受一个指向渐变/图案元素的 url,即所谓的“绘画服务器”的一个实例。

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

<rect fill="url(grad.svg#my_grad)" />

和对应的<linearGradient /> grad.svg 中的元素?

那会非常好,因为这样就可以将他所有的渐变/图案存储在一个文件中并缓存...

干杯,

更新:这个问题,就其含义而言,是Include SVG file in SVG的重复。 (至少 Firefox 回答了这个问题)。我保持打开状态,因为我认为标题和标签更有可能被您找到。

最佳答案

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

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

它在 Inkscape 中不起作用 - 但它确实适用于 Apache Batik 工具包。

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

  • Firefox 3.0 否
  • Firefox 3.5 是
  • Opera 9.64、10.0 是
  • Safari 4 否
  • Chrome 2.0 否

关于css - 渐变服务器作为 SVG 中的外部文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1104024/

相关文章:

html - CSS:扩展悬停

python - cssutils parseString 媒体查询失败。 - 错误 CSSStyleDeclaration : Unexpected token

regex - Elasticsearch Regex匹配以一个字符串开头但不以另一个字符串结尾的url,而无需前后查找

javascript - 如何更改谷歌甘特图字体?

javascript - D3 v4:具有嵌套g标签的任意复杂数组的元素之间的间距和绑定(bind)

html - 使用 css 和 html 创建 hr,箭头位于左下角

html - 拉伸(stretch)图像以适应特定的 div

javascript - 如何测试 URL 字符串是绝对字符串还是相对字符串?

c - 使用 C 中的 GLib/GIO 从 Web 获取文件

javascript - 如何将事件监听器添加到 svg 中的对象?