IE6で透過PNGが表示できない件の続き
フルカラー透過PNG
そして、256色PNGです。
フルカラーPNGを何とかして、IE6でも表示できないでしょうか?
今回はそんなテーマです。
DXImageTransform.Microsoft.AlphaImageLoader を使って、次のように表現してみます。
<style type="text/css"> .pngtrns { filter: expression("progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + this.firstChild.src + ", sizingMethod=scale)"); width: expression(this.firstChild.clientWidth+"px"); height: expression(this.firstChild.clientHeight+"px"); } .pngtrns img { visibility: expression("hidden"); } </style> <span class="pngtrns"><img src="/limg/4/e/4e83b5d6.png" alt="IEIcon"></span> |
表示できているでしょうか?
表示できていない場合は DirectX ImageTransformコンポーネントが有効になっていない可能性があります。 \WINNT\system32に入っているdxtrans.dllのバージョンが6.3.2800.xxxxになっていることを確認して、 regsvr32 dxtrans.dllを実行してみましょう。
でも、この方法でもIE5.01だと透過にならないんですよね。
使えるのはIE5.5からです。
ちなみに、この方法を使うと、右クリックで画像を保存できなくなるメリットもあります。
* 最新版のIE6のPNGFILTER.DLL 6.0.2800.1632 では表示できなくなっています。MSの嫌がらせ?
Internet Explorer 7 for Windows Server 2003 用セキュリティ更新プログラム (KB972260) から PNGFILTER.DLL を取り出してコピーして使ってみましょう。
Comments