IE10は、DirectX画像操作のサポートを終了しました。現在はSVG標準を使用しています。ただし、たとえばFirefoxでは、IE10以外の任意の<img>
要素にsvgフィルターを適用でき、の画像でのみ機能するように見えます<svg> <image ... /> </svg>
。
ブラウザごとに別々のマークアップを作成する必要がありますか?それは間違っているようです。
filterのような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でフィルター効果を実行するにはどうすればよいですか?何かが足りない気がします...
これがそれをクリアすることを願っています