假设100%
= 16px
= 1em
= 1
(适用于无单位line-height
)我认为162.5%
= {{1 }} = 26px
= 1.625em
。
当我将1.625
设置为line-height
或1.625
或1.625em
时,它在Chrome中完全相同,但当我将其设置为26px
时,它并不完全相同(在Firefox中它总是可以的。)
有谁为什么会这样?我真的试图找到一些错误而我不能。我发现这个表格的值不一致(例如他们说162.5%
是160%
而不是26px
,但为什么?):http://www.getallfix.com/2011/11/convert-empxpt-and-in-css/
演示:http://jsfiddle.net/tr9Nr/1/(必须在Chrome或IE11中打开,在Firefox中一直都可以)
答案 0 :(得分:1)
您的计算是正确的:100% = 16px = 1em = 1
您看到的不一致之处在于像Chrome这样的webkit浏览器如何呈现小数百分比值。在你的情况下,webkit看起来是行高度百分比而不是舍入它,所以162.5%总是呈现为162%;见jsfiddle。
我不能说这是一个错误,因为子像素渲染标准并没有真正明确定义......这就是webkit如何做到的。
您发布的示例图表似乎是围绕像素值。
您可以放心,因为您的布局永远不会超过几个像素。此外,跨浏览器像素完美布局仅仅是梦想的乌托邦理想。 : - /