透過pngをIE6で使う方法いろいろとjQueryプラグイン

2008年1月07日

IE7の自動更新が2008年2月13日に始まるそうなので「昔は透過pngが使えなかったんだよね。IEの実装がダメダメでさぁ~」なんて言う時代がそのうち来るのかなぁと思いつつも、実際問題としてはまだまだIE6のシェアは無視できないですよね。特にアルファ画像をIE6で扱うのは悩みどころです。しかし現在では数多くの方がIE6でアルファチャンネルを持ったpngを表示させる方法を公開していらっしゃいます。


ほぼこれで事足りてしまうので、今更という感はありますが・・・今回はそれをjQueryのプラグインで実現するというお話です。jQueryを使っている方は一考の価値があるのではないでしょうか。導入も非常に簡単です。

まずは、jQuery本体とIEで透過pngを使うためのjQueryプラグイン「IE PNG Fix」をダウンロードします。そしてhtmlのhead内に次のように書きjQuery本体とプラグインを読み込みます。

<script src="jquery-1.2.1.pack.js" type="text/javascript" charset="utf-8"></script>
<script src="jquery.pngfix.js" type="text/javascript" charset="utf-8"></script>

srcの部分はフォルダ構成によって変えてください。これで使う準備ができました。ページ内すべてのimg要素に対して適用したい場合は次のようにスクリプトを書きます。

$(document).ready(function() {
$("img").pngfix();
});

これだと透過情報を持たないjpgなど全てのimg要素に適用されてしまうので、ちとスマートなやりかたではありませんね。もう少しスクリプトを変えて、pngのみに適用させたい場合は次のように書きます。

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

さらに「特定のid=”foo”にも適用させたい」と言った場合はカンマで区切って次のように書きます。

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

IE PNG Fixに実際に適用させたサンプルファイルも置いてあります。なおこのプラグインはMIT Licenseで提供されているので、著作権表示を消さなければ自由に使うことができます。(ダウンロードすれば最初から著作権表示は書いてあります)

関連エントリー
このエントリーのトラックバックURL
http://www.lllcolor.com/web/jquery/92.html/trackback

このエントリーに投稿されたコメント

YungSang » Blog Archive » 帰って来た IEPNGFIX - 2008.03.16 -PM 2:47

[…] 4.透過pngをIE6で使う方法いろいろとjQueryプラグイン iepngfix.htc をベースにしたと思われる jQuery 用のプラグインを紹介されています。 […]

links for 2008-06-03 « Bluebeck blog - 2008.06.4 -AM 12:32

[…] 透過pngをIE6で使う方法いろいろとjQueryプラグイン - Emotional Web (tags: jquery javascript PNG) addthis_url = ‘http%3A%2F%2Fwww.bluebeck.jp%2Fblog%2Farchives%2F132′; addthis_title = ‘links+for+2008-06-03′; addthis_pub = ”; […]

iBLOG - 2008.06.8 -PM 12:06

ヘッダーデザインリニューアル中…

ただいま、ヘッダーのデザインをリニューアルしています。これまでのヘッダー画像と記事、左右コラムとの間にいろいろ入れようと考えています。本当は、この間を透過PNGでやりたいの…

コメントを投稿する場合は次のフォームよりお願いします

コメント投稿フォーム
(スタイル用HTMLタグが使えます)

ページの先頭に戻る