2010年01月13日

CSSでリストをグリッド状に並べる:CSS 3分コーディング

CSS(スタイルシート)の色々なテクニックや知識を紹介していく「CSS 3分コーディング」のコーナーです。

はじまりはじまり。

CSSでリストをグリッド状に並べる


画像などのボックスをCSSでグリッド(格子)状に並べる方法です。table要素は使わず、CSSのみで実現します。

完成品はこんな感じ。
CSSでリストをグリッド状に並べる(完成品)
これは、CSSを適用する前はこうなっています。
CSSでリストをグリッド状に並べる(CSS適用前)
XHTMLはこんな感じ。
<div id="grid">
<ul>
<li><img src="box.jpg" width="80" height="80" /></li>
<li><img src="box.jpg" width="80" height="80" /></li>
<li><img src="box.jpg" width="80" height="80" /></li>
<li><img src="box.jpg" width="80" height="80" /></li>
....
</ul>
</div>

「一覧表示」という意味では、やはりリストでマークアップするのがしっくりきます。

以前、「CSSでリストを横並びのメニューにする」という記事で、リストを単純に横に並べるテクニックを紹介しました。

この記事ではdisplayプロパティを使ってliの表示をインライン要素に変えています。

今回もそれが使えそうですが、「インライン要素には上下のmarginが設定できない」ため、配置をこまかく調整しようとした際に不便です。

そこで、今回はfloatプロパティを使ってli要素を横並びに表示します。

ポイントは「親要素の幅を固定して、1行あたりに表示されるli要素の個数を決める」です。
3mincss27_grid_list.png
* {
margin: 0;
padding: 0;
}

#grid {
width: 450px;
}
li {
margin: 5px;
float: left;
list-style: none;
}

今回はdiv要素を用意して幅を固定しましたが、ul要素で幅を固定してもOKです。

親要素の幅と、li要素の幅+marginを割り算して、1行あたりにli要素をいくつ表示するかを計算します。

グリッド状に表示する写真ギャラリーのようなものも簡単に作ることができますね!

では次回もお楽しみに。

レイアウト自由自在!Dreamweaver CS4 CSSデザイン手法
posted by こう at 11:28
連載:CSS 3分コーディング | コメント(0) | トラックバック(0)
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/138169839

この記事へのトラックバック