这听起来像你不遵守正确的结构 - 你不应该为table-row
换出table-cell
,他们有两个明显不同的目的,其不是解释布局方面等同,表结构应始终遵循:
table (display-table)
row (display-row) <- important to denote a row of elements
cell (display-cell) <- important to denote (column based) content within a row
/cell
/row
/table
您错过了无论是行或细胞水平的方法,所以虽然everythign似乎大部分正确解释,你的CSS实际上是错误的。
我建议你考虑使用浮动或内联的div,见
FIDDLE
HTML
<div class="t">
<div>1</div><div>2</div><div>3</div><div>4</div>
</div>
CSS
*{
box-sizing:border-box;
}
.t
{
width:100%;
}
.t>div
{
border:1px solid red;
display:inline-block;
width:25%;
margin:0;
padding:0;
zoom:1;
}
@media screen and (max-width: 769px) {
.t
{
width:100%;
display:table;
}
.t>div
{
border:1px solid red;
display: block;
width:100%;
zoom:1;
}
}
来源
2014-02-25 13:24:47
SW4
我有类似的问题铬。我认为这是一个webkit渲染错误。从来没有找到它的修复程序 – Turnip
我在ajax页面上有类似的问题。更改具有display:table-cell的div的内容不会调整表格单元的大小。所以我必须使用jQuery'$('。col').css('display',table-cell)重置它;' –