问题是,所有元素(主容器、表格容器和表格本身)都必须有 100% 的高度。与 Firefox 相比,Chrome 和 IE 中的表格本身的尺寸略小,这会导致 .table-container 和表格边框之间存在小间隙。
有人知道如何解决这个问题吗?我为此花了几乎一整天的时间,不能简单地找到解决方案。将不胜感激任何帮助。
这是我当前问题的小提琴链接:小提琴链接
<div class="container">
<div class="buttons">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div class="table-container">
<table>
<thead>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
</thead>
<tbody>
<tr>
<td>a</td>
<td>b</td>
<td>c</td>
<td>d</td>
</tr>
<tr>
<td>aa</td>
<td>bb</td>
<td>cc</td>
<td>dd</td>
</tr>
<tr>
<td>aaa</td>
<td>bbb</td>
<td>ccc</td>
<td>ddd</td>
</tr>
</tbody>
</table>
</div>
</div>
和 CSS:
html, body, .container, .table-container, table
{
height: 100%;
}
.container
{
display: block;
width: 500px;
margin: 0 auto;
text-align: center;
}
.table-container
{
width: 100%;
border: 1px solid red;
padding-top: 30px;
margin-top: -30px;
}
.buttons
{
height: 30px;
}
.buttons div
{
box-sizing: border-box;
-moz-box-sizing: border-box;
width: 25%;
float: left;
height: 30px;
border: 1px solid black;
}
table
{
border: 1px solid black;
width: 100%;
border-spacing: 0;
}
thead td, tbody td
{
width: 25%;
height: 25%;
}
更新:为 .table-container 添加了填充和负边距
Update2:为示例添加了边框间距和边框折叠。仍然无法正常工作。
更新3:现在它在这里工作,这意味着我无法完全重现我的错误以向您展示:(但总的来说,问题是Chrome中5x5表格的高度比22px上的FF少,这是表格容器和表格本身之间的 22px 间隙。在 Firefox 中,每个单元格大约有 4px + 到表格高度。