次のようなマークアップがあるとします: http://jsfiddle.net/R8eCr/1/
<div class="container">
<div class="column">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
<div class="column">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
<div class="column">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
...
</div>
次にCSS
.container {
display: table;
border-collapse: collapse;
}
.column {
float: left;
overflow: hidden;
width: 120px;
}
.cell {
display: table-cell;
border: 1px solid red;
width: 120px;
height: 20px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
外側の divdisplay: table; border-collapse: collapse;
とセルがありますが、display: table-cell
なぜそれらがまだ折りたたまれていないのですか? ここで何が欠けていますか?
ちなみに、列にはさまざまな数のセルが存在する可能性があるため、片側だけに境界線を設定することはできません。