说,我定义了以下CSS规则:
.className {
font-size:0.89em;
}
我的问题是,在指定浏览器实际上支持它的时候,以及为了给em值的一小部分更改而不同地渲染字体大小,我可以如何“深入”分数?
答案 0 :(得分:6)
JohnB是对的。无论我们使用什么尺寸单位,我们仍然以像素为单位渲染,而ems的微小变化不会改变显示的尺寸:
例如,对于最初显示在20px *高度的文本,我们可以看到,当添加规则以使其原始高度为.99em时,没有有效的更改:
20 * 0.99 = 19.8
浏览器无法显示.8的像素,因此(假设它会向上舍入)它仍会显示为20px高。
虽然看起来浏览器并不总是按预期完成:
http://meyerweb.com/eric/thoughts/2010/02/10/rounding-off/
http://ejohn.org/blog/sub-pixel-problems-in-css/
*是的,我知道字体大小为20px并不意味着它以20px显示!
答案 1 :(得分:0)
但是请记住,与所有浮点数一样,分数em值也容易出现舍入误差。
我发现,在设置媒体查询边界时,一个最大宽度与另一个最小宽度相距0.00001em,并且将其四舍五入并激活了两个查询。将差异更改为0.001em后,查询将按预期工作。