menu
書いてる野郎
orebike@gmail.com
2009年02月27日
PNG32 とかアルファチャンネル PNG とか言われる類のフルカラー+256階調の透明度コントロールができる画像フォーマットが IE7 でも使えるといって使っていたのだが、穴があった・・・
IE7 の透過 PNG に対するレンダリングエンジンは CSS の透明度レンダリング filter を適当に流用して実装しているようで、CSS 側で対象の透明度を100(IE7 の filter は透明度を 0〜100 の値でコントロールする。ちなみにモダンブラウザは0〜1でコントロールする)にするとその対象に含まれる画像や背景の透明度情報をファイル自体に持っているものまでも透けなくなってしまう。
これはいくらなんでも完璧に実装してる
確かに透けているが何か変・・・本体が透けているが、アンチエリアスとかドロップシャドウの部分が完全に消えてなくなってしまっている。アルファ部分が全部無いならわからんでもないがなぜそこだけ無くなる?
背景として配置した場合も同じ結果になった。透明度をコントロールできるんだったら次はふわーっと出現するスクリプトを書きたいところだがIE7では現状何かトリッキーなことをしないとできないっぽい
・・・って眺めていたら、なんか変!なんかでかいwサイズが変わっている
http://slashdot.jp/developers/05/05/02/0226207.shtml
いろいろ調べてたらやっぱり思ったとおり。エンジンの刷新じゃなくていろいろゴテゴテやった結果のバグっぽい