我已被置于需要使用display:table-cell命令的div元素的位置。
但是我发现,如果将百分比添加到宽度,“单元格”将只能正常工作。
在这个小提琴http://jsfiddle.net/NvTdw/中,当我移除百分比宽度时,单元格的宽度不相等,但是当将百分比值添加到宽度时,一切都很好,但只有当该百分比等于最多没有div,所以四列25%,五个20%,在这种情况下五个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>
答案 0 :(得分:103)
您只需添加'table-layout:fixed;'
.table {
display: table;
height: 100px;
width: 100%;
table-layout: fixed;
}
答案 1 :(得分:1)
另请注意,vertical-align:top;
通常是正确表格单元格外观所必需的。