渐变服务器,外部文件中SVG [复制](Gradient servers as external f

2019-06-25 12:31发布

可能重复:
包括SVG SVG文件

在SVG填充属性接受的URL指向一个梯度/图案元件,所谓的“油漆服务器”的一个实例。

问题:是否可以在任何浏览器(即不是IE,当然),使用在外部SVG文件中定义的梯度? 就像在rect.svg

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

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

这将是非常好的,因为这样一个可以存储所有他的梯度/模式在一个文件中,并拿到缓存...

干杯,

更新:这个问题是,它的意义,副本包括在SVG SVG文件 (其中问题得到回答至少火狐)。 我把我的开放,因为我觉得标题和标签更容易获得通过,那么,你找到。

Answer 1:

SVG规范只是说你可以使用一个URI - 因此它应该是可能的。 浏览器支持当然是另当别论。

我只写并测试一个小样本文件。

它不会在Inkscape的工作 - 但它与Apache蜡染工具包工作。

对于浏览器的支持,我上传的文件browsershots.org和总结吧:有些浏览器支持外部梯度-有些则没有。 例如:

  • 火狐3.0 NO
  • 火狐3.5是
  • 歌剧9.64,10.0 YES
  • Safari 4的NO
  • 铬2.0 NO


Answer 2:

如果我理解正确的,URL更改为

<rect fill="url(grad.svg?param=my_grad" />

然后动态地生成SVG?



文章来源: Gradient servers as external files in SVG [duplicate]