display:boxとbox-ordinal-group

CSS3にはdisplay:boxとbox-ordinal-groupという便利な記法があって、マルチカラムレイアウトっぽいことが手軽にできる。詳しくはCSS3の数行で作る簡単な3カラムレイアウトを参照。

で、サンプルを書いてみた。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>さんぷる</title>
<style type="text/css">
.item {
display: -moz-box;
display: -webkit-box;
display: box;
}
.item-image {
-moz-box-ordinal-group: 1;
-webkit-box-ordinal-group: 1;
box-ordinal-group: 1;
}
.item-name {
-moz-box-ordinal-group:2;
-webkit-box-ordinal-group:2;
box-ordinal-group:2;
}
</style>
</head>
<body>
<div class="map-item">
<div class="map-item-image"><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/5/54/Steve_Jobs.jpg/200px-Steve_Jobs.jpg"></div>
<div class="map-item-name">スティーブ・ジョブズ</div>
</div>
<div>aaaa</div>
</body>
</html>
view raw gistfile1.html hosted with ❤ by GitHub

Google Chrome で表示すると次のようになる。

floatを使う必要がないのが嬉しい。

追記

CSS3の数行で作る簡単な3カラムレイアウトを見ると、複数ブラウザに対応する場合にはbox-sizingも考慮する必要があるみたい。