Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何使用SVG过滤器和<;基地>;结合_Html_Google Chrome_Svg_Filter_Blur - Fatal编程技术网

Html 如何使用SVG过滤器和<;基地>;结合

Html 如何使用SVG过滤器和<;基地>;结合,html,google-chrome,svg,filter,blur,Html,Google Chrome,Svg,Filter,Blur,下面的代码在主页上工作,其中“页面URL”=“基本URL” 但在其他页面上失败 <svg> <filter id="blur"> <feGaussianBlur stdDeviation="5"></feGaussianBlur> </filter> <image id="svg-image" xmlns:href="http://x.com/image.jpg" filter

下面的代码在主页上工作,其中“页面URL”=“基本URL”

但在其他页面上失败

<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>

有没有办法从外部svg文件中引用“仅过滤器”

例如:

1.外部文件@()


2.HTML文档@()


url()中使用文件名应该可以这样做。尤其是在引用当前文件时。这将解决
的问题

但是,并非所有浏览器都支持指向另一个文件(目前)


顺便说一句,您的
xmlns:xlink
属性是错误的。那应该是
xlink:hef=”“

不要!可能的


(正如@RobertLongson和@PaulLeBeau所建议的)

实际上它是xmlns:href=“”,最初,我将它与w3参考链接混合在一起,然后移除以使它看起来更小。不,它不起作用。我对(问题?)进行了mod_重写,但它甚至不能与绝对引用一起工作。svg过滤器定义有问题吗?@user3380710没有,正如回答中所述,并非所有浏览器都支持它。例如Firefox就支持,但Chrome只支持一些过滤器,我不知道是哪一个,也许高斯模糊不在其中。您最好停止使用
标记。就标题而言,可能最好不要这样做。@RobertLongson我的困境是SVG只在一个地方使用(但必要),而BASE在整个站点上使用。所以,如果可能的话,我只是想有一个解决办法?停止使用base或过滤器(或剪辑路径、标记或遮罩)或停止使用Chrome(或IE、Safari或Opera)。@RobertLongson你真是太好了,谢谢!另一种选择是将所有SVG移动到单个独立文件中,然后通过
标记将其嵌入,以便
标记位于不同的文档中,然后不会影响SVG。
<svg>
  <filter id="blur">
    <feGaussianBlur stdDeviation="5"></feGaussianBlur>
  </filter>
</svg>
<svg>
  <image id="svg-image" xmlns:href="http://x.com/image.jpg"       
         filter="url(/somewhere/external.svg#blur)">
  </image>
</svg>