Div要素に対してdisplay:table-cellコマンドを使用する必要がある位置に配置されました。
ただし、幅にパーセンテージを追加した場合にのみ、「セル」が正しく機能することを発見しました。
このフィドルでは、 http://jsfiddle.net/NvTdw/ パーセント幅を削除すると、セルの幅は等しくなりませんが、パーセント値を幅に追加すると、すべてがうまくいきますが、その割合がdivの最大数の割合に等しい場合、4列で25%、5列で20%、この場合は5列で16.666%になります。
追加する割合はおそらく少ないと考えました。たとえば、1%がすべてを修正するのに良いと思いますが、セルは再びラインから外れます。
どうしてこれなの?
.table {
display: table;
height: 200px;
width: 100%;
}
.cell {
display: table-cell;
height: 100%;
padding: 10px;
width: 16.666%;
}
.grey {
background-color: #666;
height: 100%;
text-align: center;
font-size: 48px;
color: #fff;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-weight: 300;
}
<div class="table">
<div class="cell">
<div class="grey">Block one</div>
</div>
<div class="cell">
<div class="grey">Block two</div>
</div>
<div class="cell">
<div class="grey">Block three</div>
</div>
</div>
<div class="table">
<div class="cell">
<div class="grey">Block</div>
</div>
<div class="cell">
<div class="grey">Block two</div>
</div>
</div>
<div class="table">
<div class="cell">
<div class="grey">Block one</div>
</div>
<div class="cell">
<div class="grey">Block two</div>
</div>
<div class="cell">
<div class="grey">Block three</div>
</div>
<div class="cell">
<div class="grey">Block four</div>
</div>
</div>
<div class="table">
<div class="cell">
<div class="grey">x</div>
</div>
<div class="cell">
<div class="grey">xx</div>
</div>
<div class="cell">
<div class="grey">xxx</div>
</div>
<div class="cell">
<div class="grey">xxxx</div>
</div>
<div class="cell">
<div class="grey">xxxxxx</div>
</div>
<div class="cell">
<div class="grey">Block five test</div>
</div>
</div>
<div class="table">
<div class="cell">
<div class="grey">Block</div>
</div>
<div class="cell">
<div class="grey">Block two</div>
</div>
<div class="cell">
<div class="grey">Block three</div>
</div>
</div>
「table-layout:fixed;」を追加するだけです。
.table {
display: table;
height: 100px;
width: 100%;
table-layout: fixed;
}
また、テーブルセルを正しく表示するにはvertical-align:top;
が必要になる場合が多いことに注意してください。