以下では、12 グリッド 960px システムからの抽出を使用しています。
<style>
body {
background: gray;
}
#container_12 {
width: 960px;
margin-left: auto;
margin-right: auto;
background: white;
overflow: hidden;
}
.column_1, .column_2, .column_3, .column_4, .column_5, .column_6, .column_7, .column_8, .column_9, .column_10, .column_11, .column_12 {
float : left;
margin-left : 10px;
margin-right : 10px;
margin-bottom: 10px;
}
.column_1 {
width : 60px;
}
.column_2 {
width : 140px;
}
.column_3 {
width : 220px;
}
.column_4 {
width : 300px;
}
.column_5 {
width : 380px;
}
.column_6 {
width : 460px;
}
.column_7 {
width : 540px;
}
.column_8 {
width : 620px;
}
.column_9 {
width : 700px;
}
.column_10 {
width : 780px;
}
.column_11 {
width : 860px;
}
.column_12 {
width : 940px;
}
</style>
<body>
<div id="container_12">
<!-- First row -->
<div class="column_1" style="height: 400px; background: red;">
</div>
<div class="column_11" style="height: 200px; background: red;">
</div>
<!-- Second row -->
<!--
This column overlaps into second row
<div class="column_1">
</div>
-->
<div class="column_5" style="height: 200px; background: green;">
</div>
<div class="column_3" style="height: 200px; background: green;">
</div>
<div class="column_3" style="height: 200px; background: green;">
</div>
</div>
</body>
出力:
http://jsfiddle.net/hnDtY/
ここで、上の 2 行をコピーして合計 4 行にしたとします。しかし、最初の 2 行を紫色の背景にし、最後の 2 行を白い背景にしたいと考えています。
http://jsfiddle.net/QZuED/
上記で行ったことの問題は、「行」という新しい div を作成し、2 つの列をラップする必要があったことです。これにより、すべての行をラップする div "行" を持たない残りのレイアウトとの一貫性がなくなります。各行に div "行" を追加し、overflow: hidden プロパティを指定した場合、2 行目のアイテムが押し下げられるため、1 つの列が 2 つの行にまたがることは不可能になります。では、グリッド システムはこの状況をどのように処理するのでしょうか。