浏览器在向您显示规格时不会使用分数像素作为单位。最小的单位对他们来说是一个完整的像素。
为什么?
设置具有position:relative
CSS 属性的元素。相对于整个文档,元素将定位在一些非常精确的值上,但是这些值以像素为单位进行四舍五入,因为显示left:145.21542258854755124554px
每个定位值是没有意义的。
当您拖动元素并跟踪它们的实际位置时,您可以看到这些值。
但是: 浏览器仍然读取小数像素。( W3C )
注意:在演示中,如果你放大到足够近,你会看到两个彩色div
元素之间的差异,即使有0.4px的差异。
放大 400% - 0.4px 差异:
输出:
196px 195px 195px 195px 195px
HTML
<table>
<tbody>
<tr>
<td>a</td>
<td>a</td>
<td>a</td>
<td>a</td>
<td>a</td>
</tr>
</tbody>
</table>
<div id="output"></div>
<div id="int">a</div>
<div id="float">a</div>
JavaScript
var tds = document.getElementsByTagName('td');
for (var td in tds) {
if (tds[td].nodeType == 1)
document.getElementById('output').innerHTML += parseFloat(tds[td].offsetWidth,10) + "px";
}
CSS
table {
width: 988px;
padding:0;
margin:0;
}
tr {
width:100%;
padding:0;
margin:0;
}
td {
width:20%;
padding:0;
margin:0;
}
#int {
width:21px;
background-color:red;
}
#float {
width:21.4px;
background-color:blue;
}