我的最小工作示例代码非常简单:
<body>
<table border="0" cellspacing="0" cellpadding="0" style="width: 50px; ">
<thead>
<tr>
<td style="width: 25px;" headerindex="0">
<div>00</div>
</td>
<td style="width: 25px;" headerindex="1">
<div>15</div>
</td>
</tr>
</thead>
</table>
</body>
请在Chrome浏览器下以100%缩放程度打开以下JSfiddle链接:https://jsfiddle.net/kghq1hs2/。
检查任意一个“td”元素的宽度,应该是25像素。
现在缩放到110%,125%或类似的程度。
再次检查任意一个“td”元素的宽度,你会发现它不是25像素,而是类似于24.667像素、24.800像素... 或者是25.200像素、25.333像素等等,这取决于你选择的td元素。
如果你有超过两列,你可以看到一个规律:前一半的td元素渲染得太大了,而后一半的td元素渲染得太小了,如果你期望它们每一个都占据25像素,那么这种情况就会累积,并且使单元格边框看起来非常奇怪。
这种情况在Internet Explorer中不会发生。我可以通过使用能够被10、3和4整除的宽度来规避这个问题,例如60。但是60太宽了。
对此问题有什么建议吗?