IE8の透過pngのアニメーション対応
IE8の透過pngのopacityをアニメーションで変化させると画像がジャギるという有名なバグがあると思います。
これの対処の仕方としてDD_belatedPNG.js等を使って対処することがあるかと思うのですが、たまにうまく処理されず、画像が変に拡大されてしまったりします。(この現象はローカルでは正常で、サーバーにアップしてみたら起きたりします)
プラグインの解説をしているサイトなど見ても、特に変わった使用方法は書いていないのですが、みなさんはどのようなプラグインで対処されていますか?
確実に対処できるプラグインがありましたら教えて頂きたいです、
みんなの回答 4 件
そのやり方で画像を<div>で囲んで、<div>をアニメーションさせると大丈夫だよ。
この方法はどのサイトでも書いていない。
これでやるといいよ。img全部じゃなくてシャギる画像だけに適用するといいです。
if(navigator.userAgent.indexOf("MSIE") != -1) {
$(’img’).each(function() {
if($(this).attr(’src’).indexOf(’.png’) != -1) {
$(this).css({
’filter’: ’progid:DXImageTransform.Microsoft.AlphaImageLoader(src="’ +
$(this).attr(’src’) +
’", sizingMethod="scale");’
});
}
});
}
IE8は透過PNGに完全対応していないのだから、無理に対応させる必要はないという考え方。
DD_belatedPNGは透過png対策のjsのかなでも優れている方だと思う。
ただVML使ってるせいで、IE8標準モードでは対応してないのと、他のjsが効いてくれなかったりするのが面倒。
たまに上手く処理されないってのは、jsのローディング関係じゃないかな?
関連するトピックス