-
ID:j4g2/I さんの質問

IE8の透過pngのアニメーション対応

IE8の透過pngのopacityをアニメーションで変化させると画像がジャギるという有名なバグがあると思います。
これの対処の仕方としてDD_belatedPNG.js等を使って対処することがあるかと思うのですが、たまにうまく処理されず、画像が変に拡大されてしまったりします。(この現象はローカルでは正常で、サーバーにアップしてみたら起きたりします)
プラグインの解説をしているサイトなど見ても、特に変わった使用方法は書いていないのですが、みなさんはどのようなプラグインで対処されていますか?
確実に対処できるプラグインがありましたら教えて頂きたいです、

みんなの回答 4 件

ID:7gRtK1 さんの回答

そのやり方で画像を<div>で囲んで、<div>をアニメーションさせると大丈夫だよ。
この方法はどのサイトでも書いていない。

ID:j4g2/I

いや、無理じゃないですか?

ID:tvkfpQ

このやり方でできる時ありますよ。私も同じように対応したことがあります。

ID:7gRtK1

か、もしくはIE8では一瞬で変える。か、GIFにしちゃうかだよね。。。

ID:Fe0cPe さんの回答

これでやるといいよ。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");’
});
}
});
}

ID:88fDoc

やってみます。

ID:88fDoc

ありがとございます、。

ID:.i5ED2 さんの回答

IE8は透過PNGに完全対応していないのだから、無理に対応させる必要はないという考え方。

ID:wz5dTJ さんの回答

DD_belatedPNGは透過png対策のjsのかなでも優れている方だと思う。
ただVML使ってるせいで、IE8標準モードでは対応してないのと、他のjsが効いてくれなかったりするのが面倒。
たまに上手く処理されないってのは、jsのローディング関係じゃないかな?

ID:x0SuKn

ひとまず最善を尽くすなら、DD_belatedPNGに1票。
jquery.belatedPNG なら、多少のデバッグもされていて、なお良し。
IE8標準モードの問題は、条件付コメントアウトでIE8の場合だけ強制的にIE7モードにするしかない。
ただ、pixel単位での隙間ができて、このバグとは別に画像のフチに線状のノイズが入る問題はなかなか大変。(端数が発生しないように画像サイズや配置を偶数になるよう調整すれば解決する場合もある?)

最終更新日:2014-11-19 (3,060 views)

関連するトピックス

ページ上部に戻る