如何一起使用SVG过滤器和<base />标签

时间:2015-09-26 02:25:33

标签: html google-chrome svg filter blur

以下代码适用于主页,其中&#34;页面网址&#34; ==&#34;基本网址&#34;

但在其他任何网页上都失败

<svg>
  <filter id="blur">
    <feGaussianBlur stdDeviation="5"></feGaussianBlur>
  </filter>

  <image id="svg-image" xmlns:href="http://x.com/image.jpg"       
         filter="url(#blur)">
  </image>
</svg>

有没有办法引用&#34;只有过滤器&#34;从外部svg文件?

例如:

1.外部文件@(http://localhost/somewhere/external.svg

<svg>
  <filter id="blur">
    <feGaussianBlur stdDeviation="5"></feGaussianBlur>
  </filter>
</svg>

2.HTML文件@(http://localhost/elsewhere

<svg>
  <image id="svg-image" xmlns:href="http://x.com/image.jpg"       
         filter="url(/somewhere/external.svg#blur)">
  </image>
</svg>

2 个答案:

答案 0 :(得分:0)

<base>中使用文件名就可以了。特别是如果您正在引用当前文件。这样可以解决xmlns:xlink的问题。

然而,并非所有浏览器都支持指向另一个文件(

顺便提一下,您的xlink:hef=""属性错误。那应该是<select>

答案 1 :(得分:0)

Just Don&#t; t || !可能

(由@RobertLongson和@PaulLeBeau建议)