IE10 已放弃对 DirectX 图像处理的支持;它现在使用 SVG 标准。但是,例如,在 Firefox 中,您可以将 svg 过滤器应用于<img>
除 IE10 之外的任何元素,而我似乎只能让它在<svg> <image ... /> </svg>
.
我需要为不同的浏览器编写单独的标记吗?这似乎是错误的。
我尝试使用过滤器之类的 CSS 过滤-ms-filter
器,但这些过滤器都不适用于 IE10。
更新 1:
好吧,我想我可能不是特别清楚。
<!DOCTYPE html>
<style>
.pop {
filter: url(#pixelate);
}
.pop:hover {
filter: none;
}
.lol {
filter: url(#pixelate);
}
.lol:hover {
filter: none;
}
.svgRoot
{
height: 150px;
width: 200px;
}
</style>
<svg class="svgRoot">
<image class="lol" x="0" y="0" width="100px" height="100px" xlink:href="http://i.imgur.com/M5TIb.jpg" />
</svg>
<svg class="svgRoot">
<defs>
<filter id="pixelate">
<feMorphology operator="erode" radius="2" />
</filter>
</defs>
<image x="0" y="0" width="100px" height="100px" xlink:href="http://i.imgur.com/M5TIb.jpg" filter="url(#pixelate)" />
<text class="svgText" x="25%" y="90%" filter="url(#pixelate)">SVG text</text>
</svg>
<img src="http://i.imgur.com/M5TIb.jpg" width="100" class="pop">
在 Firefox 中,最后一个元素 ,<img>
过滤器有效。但是,它不在 IE10 中。我可以在这里使用带有 DX 的 IE4-IE9 实现相同的效果。效果。但是 IE10 实现了 SVG。然而,它似乎只适用于<svg>
标签中包含的元素。那么如何在不编写不同标记的情况下在 IE10 中进行任何滤镜效果呢?我觉得我一定是错过了什么...
希望这可以清除它