サイト内検索

Blog > css > 背景画像付きのボックス


2008.12.01

category: css

背景画像付きのボックス

tag: .

Colissさんのところで紹介されていたCSS Spriteのtipsがいいなぁと思ってpost。

CSS Spriteのメリットは複数の画像を1枚にまとめて作ることでHTTPリクエストを減らせたり、上手く組み合わせれば画像のトータルサイズを減らせたりできること。
個人的には管理する画像の数が減らせるのがうれしかったり(あんまり数が多くなりすぎると画像名見ただけじゃ何の画像か分からなくなってしまうんです…)。

ロールオーバー画像に使っていると、印刷時にFirefoxでおかしなことになるので、そういうところにはなかなか使いにくいです。
印刷用のCSSでメニューを表示させなければ問題ないですけどね。

前置きはこんなもんで本題に。

CSS Spriteって、「アイコンとかロゴを1枚にまとめとけー!」みたいなイメージだったけど、[CSS]一枚の画像で、四隅が角丸のパネルを実装するスタイルシートという記事で紹介されていた使い方は、便利だなぁと思った。

具体的には、
1imageresults.png
このボックスを
background2.gif
をこの画像で作る。
作者のデモを見る

見れば分かるけど、構造はこのようになっている。
struct.gif

div, hx, p{
background-image:url(img.png);
}
div{background-position:left bottom;
}
hx{
background-position:left top;
}
p{
background-position:right top;
background-repeat:repeat-y;
}

今までこういうタイプのボックス作るときには、上・真ん中・下の3つの画像に分けて書き出してました。
これが1枚の画像(box.gifみたいに)で作れれば、画像管理がちょっとだけ楽になるかも。

この使い方一般的だったらすいません…
こんな賢い使い方あるなんて知りませんでした(-_-;)

このサンプルだと文字数とか文字サイズによって見出しが崩れますが、見出しの背景に色を付けないなど工夫をすればもっと使いやすいものを作れそうですね。
もっとも、分かりやすくするために色を付けてるだけかもしれませんが。

全パーツを1枚にまとめるとパーツの追加・変更などがあったときに編集するのが面倒なので、1パーツ1画像みたいに使ったほうがよりスマートかなと思います。

関連投稿

posted on 2008.12.01 01:01pm

Comment and Trackback
Trackback URL

コメントはまだありません。