IE10中HTML img上的SVG过滤器

IE10中HTML img上的SVG过滤器,html,svg,internet-explorer-10,svg-filters,Html,Svg,Internet Explorer 10,Svg Filters,我有一个可以在Chrome和Firefox中使用的过滤器,但我无法在IE中使用 IE10应该支持SVG过滤器,那么有什么问题吗?IE目前不支持HTML文档或文档中的SVG过滤器。它只支持SVG文档中的SVG过滤器或HTML文档中的SVG片段。如果希望它在IE中工作,则需要将其从HTML文档转换为SVG文档,将图像包含在SVG片段中,或者将图像包含在SVG文件中,并从HTML页面链接到该文件 对于后者,您可以围绕图像制作SVG包装,如图所示: <svg xmlns="http://www.

我有一个可以在Chrome和Firefox中使用的过滤器,但我无法在IE中使用


IE10应该支持SVG过滤器,那么有什么问题吗?

IE目前不支持HTML文档或文档中的SVG过滤器。它只支持SVG文档中的SVG过滤器或HTML文档中的SVG片段。如果希望它在IE中工作,则需要将其从HTML文档转换为SVG文档,将图像包含在SVG片段中,或者将图像包含在SVG文件中,并从HTML页面链接到该文件

对于后者,您可以围绕图像制作SVG包装,如图所示:

<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="300" height="300"> 

    <filter id="greyscale">
        <feColorMatrix type="matrix" values="0.3333 0.3333 0.3333 0 0
                                             0.3333 0.3333 0.3333 0 0
                                             0.3333 0.3333 0.3333 0 0
                                             0      0      0      1 0"/>
    </filter>
    <image x="0" y="0" xlink:href="Lenna.jpg " filter="url(#greyscale)" width="300" height="300"/>
</svg>

你可以看到这一点在行动与

然后,您需要从HTML链接到SVG文件:

<img src="lenna.svg" alt="Lena Söderberg desaturated with SVG" />

如果愿意,可以将上面的SVG直接包含在HTML文件中,而不是使用
img
元素链接到它。您可以在中看到这种方法。所需的SVG代码完全相同


IE5.5–IE9支持微软自己的,但这些在IE10中被删除。

IE10也支持内嵌SVG中的SVG过滤器-您不需要单独的文档。是的,我也是这个意思,但没有说清楚。我再加上。