SUBSCRIBE RSS FOLLOW TWITTER CONTACT GMAIL
ITキヲスク

  • Topics (98)
    • 週間ブックマーク (71)
    • 個人的まとめ (19)
    • オススメ情報 (8)
  • Hack / Tips (22)
    • JavaScript / PHP (5)
    • Design (4)
    • HTML / CSS (4)
    • WordPress (3)
    • MOBILE (3)
    • Photoshop / Illustrator (2)
    • SEO / SEM (1)
  • Application (16)
    • WEB SERVICE (6)
    • FREE SOFT (5)
    • OPEN SOURCE (4)
  • Freebie (14)
    • JPG / GIF / PNG (4)
    • AJAX / PHP (4)
    • PSD / AI / FLA (3)
    • DESIGN TEMPLATE (2)
    • FONT (1)
  • Information (3)
    • ヒトリゴト (3)
Blog > Hack / Tips > JavaScript / PHP > IE6で透過pngを表示させるオススメscript、「DD_belatedPNG.js」
  • 国内WEB関連
  • 海外WEB関連
  • 国内NEWS
  • 面白スレまとめ
Hack / Tips, JavaScript / PHP

IE6で透過pngを表示させるオススメscript、「DD_belatedPNG.js」

>> 詳細な使用法と注意点を追加エントリーしました。

いまだ絶大なシェアを誇るIE6(Internet Exproler 6)ですが、WEB制作者ならご存知の通り、さまざまなバグ・不具合を内包しております。

・CSSでfloatしたブロックのmarginが倍になる。
・後方互換モードの場合、text-alignが子要素にまで影響する。
・透過png画像が透過されない。

上記以外にも、それはいくつもの制作者泣かせの問題があり、業界内では「IE6氏ねばいいのに」とまで言われているブラウザですが、前述の通りシェアは絶大なので、対応しないワケにもいかず。

すでにいくつもの対応策が出回っておりますが、その中でも自分的に一番オススメするのが、「DD_belatedPNG.js」を使用する方法です。

有名どころの対応策を併記・比較しながら、どこがオススメなのかを含めてエントリーしたいと思います。

有名なIE6透過png対応策

1.AlphaImageLoader

これはJavaScriptを使わず、CSSだけで対応させる場合に有効な方法です。JavaScriptはどうしても使いたくなかったり、CSS以外いじれない状況の場合は、この方法がベストかもしれません。

IE6には透過png表示の為に、独自のCSSフィルターとして「AlphaImageLoader」というものがあります。これはDirectXを使用して、背景と画像の間に画像を配置する事で透過を再現するというものです。

この「AlphaImageLoader」フィルターをpng画像に適用することで、他ブラウザと同様に透過png画像を表示させます。

ある意味、最も仕様に忠実な対応方法ですが、使い勝手や汎用性を考えるとあまりオススはできません。

詳しい使い方を紹介しているサイト:

  • Amenti
  • ウノウラボ
  • ウェブネタブログ

この方法の特徴:

  1. 描画処理が遅くメモリも大きく消費するので、ページ全体が重くなる。
  2. ブロック要素の背景画像に使用すると、そのブロック内のリンクが機能しなくなる。
  3. IE6のみに適応させるためのCSSハックが必要。
  4. 適応させたい箇所に、都度記述しなければならない。
  5. 背景にリピート描画(background:repeat)ができない。

2.iepngfix.js

導入や使用に関する情報も多数あり、さまざまなサイトで使用されている実績も持つ、IE6透過png対応策の王道ともいえるこの方法。

原理としては、前述の「AlphaImageLoader」を、JavaScriptを用いて必要箇所に適応させるものです。

もう少し詳しく書くと、AlphaImageLoaderフィルターを使用した「iepngfix.htc」というスクリプトを、JavaScriptを用いて使用するものになります。

AlphaImageLoaderフィルターを直接使用する際の欠点、「ブロック要素の背景画像に使用すると、そのブロック内のリンクが機能しなくなる」という部分を補い、JavaScriptとして独立しているため、新規サイト制作時にも流用できるというスグレモノ。

ただし、上記の通り基本はAlphaImageLoaderフィルター+iepngfix.htcなので、これらの不具合が継承されている部分もあります。

配布先・制作者様のサイト:

  • ユンサンの/5ヌチタXヌ/YungSang’s

詳しい使い方を紹介しているサイト:

  • Design Walker
  • CSS MAKER
  • SCREAMO CREATIVE

この方法の特徴:

  1. AlphaImageLoaderフィルターを使用するので、描画処理自体は遅く、メモリも大きく消費する。
  2. AlphaImageLoaderフィルター使用時の致命的バグである「適応ブロック内のリンクが機能しない」問題を回避できる。
  3. 導入が簡単なうえ、解説サイトなども多数ある。
  4. CSSに都度フィルターを適応させるカタチではないので、既存サイトにIE6透過png対応をする時にも導入が容易。
  5. やはり背景にリピート描画(background:repeat)ができない。

3.ie7.js

こちらは今後主流になっていきそうな薫香プンプンの方法です。

このJavaScriptを導入し、pngの画像名を「○○-trans.png」とするだけで、IE6でも綺麗に透過されます。

このスクリプトは透過pngの対応をはじめ、前述のIE6独自のCSS諸問題を解決するためのもので、いうなれば「IE6がマトモになるように改造しちゃうぉ☆」というコンセプトのスクリプトです。

なので、もしすでにCSSなどでIE6対応ハックを使用している場合、このスクリプトが影響してしまい、表示がおかしくなる場合があります。

新規で制作する場合には問題ないですが、既存サイトでの導入は少し難しいかもしれません。

配布先・制作者様のサイト:

  • Google code

詳しい使い方を紹介しているサイト:

  • 440design
  • yukotan hour
  • TPLH.net

この方法の特徴:

  1. 画像名を「○○-trans.png」とするだけで対応できるので、導入がとても簡単。
  2. 透過png問題だけじゃなく、CSSのバグにも対応しているので、新規サイト制作時には利便性が高い。
  3. AJAXやiframeでページ内にこのスクリプトを使用したページを読み込むと、たまにIEごと落ちる。
  4. やっはり背景にリピート描画(background:repeat)ができない。

これら以外にもたくさんの透過png対応策があります。ここからはいくつか箇条書き系形式で紹介します。

4.IE PNG FIX v2.0 Alpha

配布先・制作者様のサイト:

  • TwinHelix

詳しい使い方を紹介しているサイト:

  • チバのブログ
  • ちぷろぐ
  • アイビーネットblog

この方法の特徴:

  1. 背景のリピート描画(background:repeat)に対応(ただし当方の環境だと、異常に重かったです)。
  2. ライセンスがLGPLと明記されているので、使い方によっては少し勝手が悪い。

5.Unit PNG Fix

配布先・制作者様のサイト:

  • Unit Interactive

詳しい使い方を紹介しているサイト:

  • コリス
  • Design Develop
  • RapidWeaverで簡単HP作成

この方法の特徴:

  1. JavaScriptの容量が約2kbと、とても軽い。
  2. 背景にpng画像を指定できない。

6.jquery.pngfix.js

配布先・制作者様のサイト:

  • Plugins and Demos for jQuery JavaScript Library

詳しい使い方を紹介しているサイト:

  • tenkaoのはてなダ…メモ

この方法の特徴:

  1. jQueryを使用しているのが前提なので、そうでない場合は導入に手間がかかる。
  2. 背景にリピート描画(background:repeat)ができない。

ここで登場!「DD_belatedPNG.js」

上記の対応策は基本的にAlphaImageLoaderフィルターを使用しており、そのシステム上どうしても描画が重くなる。

さらに背景リピートに対応していなかったり、余計なファイルをいくつも用意しなければいけなかったりと、「IE6憎し」の感情ばかりが高ぶってしまう。

しかし、ここで紹介する「DD belatedPNG.js」である(やっと本題にたどり着いた…)。

これは前述の「AlphaImageLoader」ではなく、「VMC」というものを利用して透過png画像を描画するものである。

処理が重い・背景リピートできない・リンクが機能しない、といったAlphaImageLoaderが根本にある故の問題点がそもそもこの「DD belatedPNG.js」には存在しないのである。

導入も簡単で、ライセンスもMIT。個人的にはこれで透過png問題の最終回答としました!

7.DD_belatedPNG.js

配布先・制作者様のサイト:

  • DillerDesign

詳しい使い方を紹介しているサイト:

  • CSS-EBLOG
  • Understandard
  • Yuki@エクスブリッジ

この方法の特徴:

  1. 描画処理がAlphaImageLoaderと比べて断然高速なので、ページをすぐに表示できる。
  2. 背景にリピート描画(background:repeat)が可能。
  3. ブロック内の背景にpngを配置しても、ちゃんとリンクが機能する。

これから新規サイトを制作する方も、既存のサイトに透過png対応策を導入する方も、ぜひこの「DD_belatedPNG.js」を検討してみてはいかがでしょーか。

>> 「DD_belatedPNG.js」の詳細な使用法と注意点を追加エントリーしました。

このエントリーを含むはてなブックマークはてなブックマーク - IE6で透過pngを表示させるオススメscript、「DD_belatedPNG.js」 この記事をクリップ!Livedoorクリップ - IE6で透過pngを表示させるオススメscript、「DD_belatedPNG.js」 FC2ブックマークへ追加 Bookmark this on Delicious BuzzurlにブックマークBuzzurlにブックマーク Digg This

関連する投稿

  • 2009年5/24~5/30の週間ブックマーク (0)
  • 2009年7/5~7/11の週間ブックマーク (0)
  • GLOOMYとコラボした強烈にキュートなブラウザ「Grani 4」 (0)

Posted on 09, 02 / 15

17 Comments »

17 Responses to “IE6で透過pngを表示させるオススメscript、「DD_belatedPNG.js」”

  1. With This Diet I Lost Thirty Póunds in Under a Month says:
    5月 7th, 2009 at 2:57 AM

    Hi, interesting post. I have been wondering about this topic,so thanks for blogging. I will certainly be subscribing to your posts. Keep up the good posts

  2. smkn says:
    5月 7th, 2009 at 8:50 PM

    >ダイエットに成功した方

    こちらこそありがとーございます!
    これからもお役に立てるような記事を書くべく、邁進する所存でございます☆
    Thanx a lot!

  3. Mike says:
    7月 14th, 2009 at 1:27 AM

    I got jacked on craigslist by some jerkwad using a cell phone line. Jerkwad was speechless when I got his contact info and paid a visit lol!

    Reverse Number Lookup

  4. niko » IE6でpng表示 says:
    7月 23rd, 2009 at 10:04 AM

    [...] ■http://smkn.xsrv.jp/blog/2009/02/dd_belatedpng_js/ まとめ記事 Permalink|Comments RSS Feed – Post a comment|Trackback URL. [...]

  5. wqce-web quarity create expression- says:
    8月 8th, 2009 at 12:08 PM

    [...] ITキヲスクさんの IE6で透過pngを表示させるオススメscript、「DD_belatedPNG.js」 [...]

  6. IE6の為の透過PNG対策 « SEからWebへ says:
    8月 15th, 2009 at 12:42 AM

    [...] IE6で透過pngを表示させるオススメscript、「DD_belatedPNG.js [...]

  7. IE6で、透過pngを表示する方法 | memo-memo says:
    9月 8th, 2009 at 6:55 PM

    [...] http://smkn.xsrv.jp/blog/2009/02/dd_belatedpng_js/ [...]

  8. Makiのメモ - png画像の透過をIE6で表示させる says:
    9月 28th, 2009 at 7:50 PM

    [...] →ITキヲスク IE6で透過pngを表示させるオススメscript、「DD_belatedPNG.js」 こちらで色々な方法を紹介されてます。 一番簡単なのはie7.jsかしら。 [...]

  9. IE6の透過PNG対策 « Elements of Web Design says:
    10月 13th, 2009 at 3:19 PM

    [...] ITキヲスク | IE6で透過pngを表示させるオススメscript、「DD_belatedPNG.js」 [...]

  10. links for 2009-10-29 » ononolab.com - says:
    10月 30th, 2009 at 4:01 AM

    [...] ITキヲスク | IE6で透過pngを表示させるオススメscript、「DD_belatedPNG.js」 (tags: webdesign web css tips html javascript library browser まとめ jQuery hack ie png ie6) [...]

  11. 無料XHTMLテンプレートを毎日紹介 - Breaking_ontop | CSS ganbatte says:
    11月 12th, 2009 at 2:51 AM

    [...] IE6で透過PNGを使いたい もちろん、透過PNGを使用しなくて済むならそれに越したことはないけど、背景色や背景の画像、そしてその表示させたい画像のコンビによってはどーーーしても透過PNGが使いたいときがある。 このとき、対処法にもいろいろあるので、このサイトを参考にしてもらえるといいと思う。ITキヲスク色々な実装の仕方、その利点・欠点、さらに詳しい実装の仕方を紹介しているサイトまで全て紹介してくれている。 この透過PNGによってデザイン性のかなり高い動的サイトを作る事が可能になる。 « design gallery  » [...]

  12. IE6で透過PNG « uk.fros.jp says:
    12月 7th, 2009 at 6:01 PM

    [...] http://smkn.xsrv.jp/blog/2009/02/dd_belatedpng_js/ [...]

  13. 日記 » IE6との戦いは続く says:
    1月 1st, 2010 at 10:10 PM

    [...] http://smkn.xsrv.jp/blog/2009/02/dd_belatedpng_js/ これが見つけたDD_belatedPNGのサイトです。 « 年が明けました! [...]

  14. DD_belatedPNG.js を試してみた - yossy’s Log says:
    1月 26th, 2010 at 6:35 PM

    [...] IE6で透過pngを表示させるオススメscript、「DD_belatedPNG.js」 [...]

  15. VIVREE - IE6 透過PNG対策 JavaScript偏 says:
    6月 1st, 2010 at 11:55 AM

    [...] ITキオスク コメント (0) [...]

  16. png画像 says:
    6月 28th, 2010 at 1:02 AM

    [...] IE6にも半透明pngを表示させる方法 http://smkn.xsrv.jp/blog/2009/02/dd_belatedpng_js/ [...]

  17. 透過PNGが正しく表示されない | 【VS-IE】 IE6対策テクニック says:
    7月 21st, 2010 at 10:59 AM

    [...] ITキヲスク | IE6で透過pngを表示させるオススメscript、「DD_belatedPNG.js」 [...]

Comment

Profile

My profile

管理人:smkn
都内某IT企業で働く、元プロドラマー / 現WEBデザイナー兼プログラマーです。WEB制作やITについての情報や知識を、ささやかながらこの「ITキヲスク」で公開していければと思っています。

Search

  • Popular
  • Comments
  • Featured

  • 漢字が使える日本語フリーフォント40選+2
  • IE6で透過pngを表示させるオススメscript、「DD_belatedPNG.js」
  • どうしても二度寝しちゃう人でも絶対に寝坊しない方法
  • IE6用透過png対応策、DD_belatedPNGの使用法と注意点
  • (恐らく)最も簡単な、対IE用CSSハック術
  • 作業効率が劇的に向上する、Firefoxおすすめアドオン7選
  • 徹夜明けの髪の毛の油を十数秒で取り除く方法
  • GPLやMITやCCなど主要ライセンスの内容と意味のまとめ
  • IE6の頻出CSSバグいろいろと、それに対処するハック術
  • クリエイティブな名刺100選 + フリーの名刺テンプレート + 名刺作成チュートリアル
  • IE6用透過png対応策、DD_belatedPNGの使用法と注意点 (23)
  • IE6で透過pngを表示させるオススメscript、「DD_belatedPNG.js」 (17)
  • 「複数RSSまとめ&タブ化ジェネレーター」、公開します! (15)
  • 漢字が使える日本語フリーフォント40選+2 (5)
  • どうしても二度寝しちゃう人でも絶対に寝坊しない方法 (4)
  • (恐らく)最も簡単な、対IE用CSSハック術 (4)
  • GPLやMITやCCなど主要ライセンスの内容と意味のまとめ (3)
  • WordPressのめっちゃ見やすいチートシート「Free Complete WordPress Cheat Sheet」 (3)
  • ウェブデザインにアクセントを加える画像加工のテクニック7選 (3)
  • メールの文字化けを解読するWebサービス3選 (3)
  • jQueryでページ最上部へのスムーズスクロールをプラグイン無しで実装する方法
  • PHPで文字列内の指定した文字数目に、指定した文字を挿入する関数「wordwrap()」
  • 2010年7/18~7/24の週間ブックマーク
  • 2010年7/11~7/17の週間ブックマーク
  • firefoxのRSSリーダーアドオン「brief」が重い時の対処法
  • 2010年7/4~7/10の週間ブックマーク
  • 超有名サイトのPHP製無料クローンスクリプト38選
  • 2010年6/27~7/3の週間ブックマーク
  • 2010年6/20~6/26の週間ブックマーク
  • YouTubeの動画を二つ同時に一画面で視聴できるwebサービス「二窓無双」、公開します!


Weekly bookmark

  • 2010年7/18~7/24の週間ブックマーク
  • 2010年7/11~7/17の週間ブックマーク
  • 2010年7/4~7/10の週間ブックマーク
  • 2010年6/27~7/3の週間ブックマーク
  • 2010年6/20~6/26の週間ブックマーク
  • 2010年6/13~6/19の週間ブックマーク
  • 2010年6/6~6/12の週間ブックマーク
  • 2010年5/30~6/5の週間ブックマーク
  • 2010年5/23~5/29の週間ブックマーク
  • 2010年5/16~5/22の週間ブックマーク

Tag cloud

Analytics deviantART OPML オリジナル 名刺 開発環境 Flickr docomo テーマ ガジェット GPS 和風 紹介 便利機能 文字化け Creative Commons クローン ショートカット イラストレーター オンラインショップ adsense ライセンス コンテスト リファレンス ブラシ・シェイプ ポータル バナー 壁紙 ライフハック ライブラリ 便利ツール フォント 透過png ビジネス文章 テンプレート ロゴ Google 略語 FLASH 関数 ITキヲスク マーケティング デバッグ HTML解析 アクセスアップ YouTube コンペ IE7 IE6 不具合情報

© ITキヲスク
Wordpress Theme designed by DT Website Templates