Webデザイナーになる方法やサイト制作のテクニック・Tipsをご紹介

メニューを開く

jQueryで、透過pngをIE6に対応させる

jQuery2008年12月7日

2008月11月現在、IE7の世界におけるシェアは47.39%を占めています。
Net Applicationsより)
確実にIE6→IE7への移行は進んでいますが、まだまだIE6は無視できないのが現状です。
色々な方が透過pngをIE6でも機能させる方法をご紹介されていますが、実はjQueryのプラグインを使用する事で、あっさりIE6にも透過pngを対応させることができます。
IE7.jsで対応」「iepngfix.js」といった方法もあるにはありますが、前者はちょっと反則的な気がしますし、後者は余計なソースがどんどん増えますし、マニアックなバグの調整作業をしなければならないのが難点です。

jQueryであれば、きちんとブラウザがサポートされているので安心ですし、余計なコードも増えません。(2~3行ほど記述するだけ)
以前の記事をひっくり返すようですが、jQueryで実装するのが最もベターだと思います。
それでは以下、実装方法です。

プラグインをダウンロード

まずは、jQuery本体に加え、プラグイン「IE PNG Fix」をダウンロードし、jQuery本体およびプラグインを読み込みます。

<script src="任意のパス/jquery.js" type="text/javascript" charset="utf-8"></script>
<script src="任意のパス/pngfix.js" type="text/javascript" charset="utf-8"></script>

jQuery.jsの下部にコードを記述

$(document).ready(function() {
$("img[@src$=png]").pngfix();
});

以上です。(簡単!!!)
ちなみに、特定のidやclassに指定する場合は、下記のように記述します。

$('div#sample').pngFix();

jQuery本体同様、MIT Licenseで提供されているので、自由に商用利用も可能です。
下記の記事にて別の方法も紹介していますので、参考までにどうぞ。

この記事を読んでいる方にオススメの記事

「jQuery」の他の記事を読む

dxa さん

2012年7月20日

Supersleight jQuery Plugin for Transparent PNGs in IE6
https://gist.github.com/919122

というものがあるのですが、どっちがいいのでしょう?
CSS指定のbackgroundにも自動適用のような気がするのですが。

admin さん

2012年8月3日

>dxaさん

コメントありがとうございます。
IE独自のAlphaImageLoaderを使って実装している点は同じかと思います。
管理人は使ったことがないのでわかりませんが、使い方もほとんど変わらないようですね。プラグインを読み込ませてあとはjQueryで透過させたい要素にセレクタで指定する、と。
どちらがよいかは使い方次第かとも思います。

この記事にコメントする

必須
必須
本文必須

  • 承認制のため、即時には反映されません。

ページの先頭に戻る