
便利なライブラリや動画に潜むWebデザインの3つの罠
株式会社ライブドアマークアップエンジニア 浜 俊太朗
2009/8/20
ページ表示高速化をサーバの設定だけに任せていませんか? HTMLやCSS、JavaScriptの書き方でも速くできます(編集部)
とても便利な“ライブラリ”だが
- - PR -
デザイナーやコーダー/マークアップエンジニアが比較的気軽に使えるJavaScriptライブラリが、しばしば話題になります。
それらの多くはライブラリを読み込みさえすれば、後は簡単な記述で便利な効果を得られます。そのため、JavaScriptを書けない人に特に人気です。さらには、Internet Explorer(以下、IE) 6に見られる不満点を対応してくれる、かゆい所に手が届くライブラリも多数存在します。
これらは非常に便利で、作業時間を短縮してくれて、またWebサイトのクオリティを向上できます。しかし、何も考えずに安易に多用していると、ページの描画速度に影響を及ぼすことがあるのです。
今回は連載の最終回として、便利なJavaScriptライブラリやFlashなどの動画やアニメーションに潜む、下記のような「Webデザインの3つの注意点」を紹介します(下記リストはインデックスになっています)。
【ワナ1】IE6でアルファチャンネルを含むPNG画像を使う
IE6には、それ以後のWebブラウザと比べて足りない部分がたくさんありますが、Webデザインの中で特に大きな影響を与えているのは、アルファチャンネルを含むPNG画像を正しく表示できないことでしょう。そもそもPNG画像は、透過処理を美しく表現できるはずですが、IE6で表示すると透過部分が塗りつぶされた状態になってしまうのです。
![]() |
| 図 IE6とSafariの比較 |
この問題を解決するためのライブラリは多数存在しますし、CSSにちょっとした記述をすることでも対応できます。これらの方法で、IE6でもアルファチャンネルを含むPNG画像を正しく表示できるようになります。代表的なライブラリは「IE PNG Fix」です。
下記CSSコードでは、filterプロパティのAlphaImageLoaderフィルタを使用して問題を解決できるようにしています。
ちょっとした記述のCSSサンプルコード* html div {
background: none;
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=crop,src=http://example.com/img/ie.png);
}
しかし、これらの手段は処理が重く、描画速度に影響してしまいます。ロゴやタイトル部分だけに使うなど、アルファチャンネルを含むPNG画像が少なければそこまで影響しませんが、例えばブログのアーカイブページにあるすべての角丸部分に使われていたら、画像の数だけ処理されることになります。
現在でもIE6を使っているユーザーは、少し古い型のPCを使っている可能性もあり得ます。マシンパワーが低ければ、その影響はさらに顕著になるでしょう。
ライブラリを使わない場合は、CSSハックで
「アルファチャンネルを含むPNG画像は、IE6がこの世から消滅するまで使うことはできないのか」と思ったかもしれませんが、そんなことはありません。この問題を解決する手段を2つご紹介します。
1つは、デメリットを理解したうえで前述のようなライブラリを使う方法があります。全体的なパフォーマンスで考えて、問題にならなければライブラリを使ってもよいでしょう。
もう1つは、IE6とそれ以外のWebブラウザで表示する画像を変える方法です。FirefoxやSafari、IE7以降などにはPNG画像を指定し、IE6にはよく似せた別のGIF画像を指定するのです。
この方法にはIE6とそれ以外のWebブラウザを振り分ける必要があり、「CSSハック」と呼ばれる手法や、PHPやJavaScriptを使う手法など多数のやり方があります。
ここでは、最もシンプルなCSSハックを使用してご紹介します。
HTMLサンプルコード<div> Sample Code </div>
CSSサンプルコード
div {
background-image: url(sample.png);
}
* html div {
background-image: url(sample.gif); /* IE6 */
}
CSSハックについて詳しく知りたい読者は、下記記事も参照してください。
現在では、IE6のシェアも徐々にではありますが下がっていて、YouTubeなど一部の有名サイトで「IE6対応を打ち切る」という流れも出てきています(参考:「IE6はもういらない」――Web企業が撲滅キャンペーン)。「IE6で使えないから」という理由であきらめるにはアルファチャンネルの美しさはもったいないので、デザインをする際の引き出しとして持っておくと表現の幅が広がるでしょう。
次ページでは、残りの2つの注意点について説明します。
| 1/2 |
| INDEX | ||
| WebデザイナのためのHTMLチューニング入門(最終回) 便利なライブラリや動画に潜むWebデザインの3つの罠 |
||
| Page1 とても便利な“ライブラリ”だが 【ワナ1】IE6でアルファチャンネルを含むPNG画像を使う ライブラリを使わない場合は、CSSハックで |
||
| Page2 【ワナ2】とても便利なjQueryのセレクタだが 【ワナ3】その動画やアニメーション、本当に必要ですか? 速度は“目的”ではなく“手段”である |
||
WebデザイナのためのHTMLチューニング入門 バックナンバー 連載インデックスへ»
- 第1回 Webサイトを“速く”表示させる7つの計測ポイント
- 第2回 Webページを速く見せるための5つのちょっとした工夫
- 第3回 CSS Spriteなどブラウザとサーバの通信を減らすテク
- 最終回 便利なライブラリや動画に潜むWebデザインの3つの罠
| 「デザインハック」コーナーへ |
TechTargetジャパン
- 次のモバイルアプリはどのフレームワークで作る? (2012/5/24)
スマホアプリの開発を容易にするJavaScriptのフレームワークが続々と増えている。それぞれの良さや仕組み、何がどこまでできるのかを徹底解剖する - 「LESS&専用エディター」でCSSをシンプルに書こう (2012/5/23)
「LESS」はCSS初心者に向けた、シンプルなライブラリだ。「LESS」で、変数などのプログラミングの基礎的な考え方もCSSで学ぼう - 学校が世界一のデジタル環境になったら (2012/5/18)
授業はアーカイブに蓄積され、家からも見られる。家族が授業テーマのアイデアを出す。そんな姿が実現されるかもしれない - 1000万ドル調達も夢じゃないクラウドファウンディング (2012/5/15)
クラウドファンディングは、寄付型でも投資型でもない「購入型」が主流。商品を“開発する前に販売”して開発費用を集める逆転のシステムだ
|
|



