ホーム » ホームページ作成・運営 » HTML・CSS »

CSS Spriteを練習してみた

YouTubeで使用されている画像は、実は一枚の画像 - これを「CSS Sprite」と呼ぶのだそう。ということを、Design Walkerさんのこの記事で知りました。

CSS Spriteを活用しよう
画像をスライスして一枚ずつ読み込むよりも、このように一枚の画像にすると、スライスの手間が省けるのと、読み込みの再に、リクエストが一回で済むので、場合によってはこちらの方が早く読み込まれることになりそうです。

サイトを作るときにすっごく面倒なのがパーツごとの切り出し(=スライス)。例えば、ロールオーバーのメニューバーを作るとき、メニューが5つあれば5×2(マウスon/off)=10枚の画像を作らなきゃいけません。

で、これまで私はPhotoshopで文字を書いたレイヤーを何重にも作り、それを表示/非表示させてPSDファイル1枚で管理してたんですが、「画像ファイル一枚」で管理することができれば見た目的にも分かりやすいですし、上で引用しているように読み込み速度が速くなるというのもプラス。

これは一応使えるようになっていた方がいいかなーと思いまして、練習してみたのがコレ。

メニュー部分にマウスカーソルを合わせていただければ分かると思いますが、よくあるロールオーバーのメニューバーです。で、これを表示させるのにCSSはこんな感じで設定してみました。

CSS Spriteで使用した背景画像

使用した背景画像はコレ1枚。5,297バイトの重さです。
で、比較用に10枚分の画像を切り出して重さを見てみたところ、全10画像で10,928バイトありました。画像を1枚にすることで5kバイトもサイズダウンさせることができるんですね☆

で、上で引用させてもらったDesign Walkerさんの記事では、いくつかCSS Spriteに関するノウハウが書かれていると思われるサイトが紹介されていたのですが、どれも英語でよく分からなかったので^^;「たぶんこーゆーことだろうなぁ...。」と試しに打ってみたのが上のテキストボックスに入っているCSS。当初は面倒そうに思えたものの、いざコードを打ってみるとホント簡単にCSS Spriteを活用することができました。

作業上、画像をいちいち切り出さなくていいというのはすっごい楽。その一方でちゃんと画像の位置を把握してCSSを指定しなきゃいけないという面倒もあるんですが、ブロードバンド時代であっても、やはりサイトはより軽いものを作るというのは心がけたいもの。

ということで、今後、あちこちでCSS Spriteという技法を活用させていただきます♪
Design Warkerさん、ありがとうございました!

Web標準XHTML+CSSデザイン  クリエイターが身につけておくべき新・100の法則。
加藤 善規 平澤 隆 両見 英世
インプレスジャパン (2007/07/03)
売り上げランキング: 3252
おすすめ度の平均: 4.5
5 プロフェッショナルとして知っておくべきことをきれいにまとめた一冊
5 CSSレイアウト初心者の教科書!
3 基本に忠実な一冊

この記事の評価: 2.7点 / 5点満点 ( 12 人の方に評価をいただきました。)

▲ページトップに戻る

コメントを投稿

3 Comments

うわあーこれはおもしろい!
今まさに面白いものを思いつきました。

もかり

Posted at 2008/02/20

このメニューはよく使っています。
有名なWeb制作事務所の作ったサイトをハックして知りました。
CSSは、勉強すればするほど奥が深いということがわかってきました。

ストリバ

Posted at 2008/02/20

>もかりさん
おっ、何か思いつきました!?
ぜひぜひ教えてくださいw

>ストリバさん
さすがストリバさん!
CSS、使いこなせているようで、実はまだまだできることがありそうだということに気づき始めました。現状に満足せずお勉強しなければ!

うか

Posted at 2008/02/20

▲ページトップに戻る

コメントフォーム

トラックバック

トラックバックURL
お寄せいただいたトラックバック :: なし