好的,我已经搜索了很多地方,但除了零星的证据表明在CSS规范中对浮点数的精度没有推荐的标准行为外,没有找到更多信息。
请注意:我不是在问众所周知的子像素舍入问题。
我询问的原因是IE似乎将基于百分比的浮点值四舍五入到2位小数,而Webkit和Gecko允许至少3位甚至更多(我没有测试)。
例如:
li {
width: 14.768%;
}
在Chrome的Web Inspector或Firebug中检查时,<li>
元素的宽度显示为14.768%。然而,在IE dev工具(IE9 / 8/7模式)中,它们的宽度为14.76%。这导致基于像素的实际值完全不准确。
有人能解释一下这种行为,或者提供一个合适的解决方案吗?如果可能的话,我不想使用基于像素的值,因为内容需要是流体宽度。
我知道处理这么多小数位很棘手,但我很想知道这些浏览器中哪一个(如果有)是“正确的”?
编辑
Firefox在检查器中似乎使用了正确的百分比值(没有舍入到2个小数位),但在实际像素位置上展现了与IE相同的行为。