13

比如说,我定义了以下 CSS 规则:

.className {
font-size:0.89em;
}

我的问题是,在为实际上支持它的浏览器指定 'em's 并为 em 值的小部分变化以不同方式呈现字体大小的同时,我可以去多“深入”到分数?

4

2 回答 2

6

约翰B是对的。无论我们使用什么尺寸单位,我们仍然以像素为单位进行渲染,并且 ems 的微小变化不会改变显示的尺寸:

例如,对于最初以 20px* 高度显示的文本,我们可以看到,当添加规则使其变为原始高度的 0.99em 时,没有有效的变化:

20 * 0.99 = 19.8 

浏览器无法显示 0.8 像素,因此(假设它会四舍五入)它仍会将其显示为 20px 高。

尽管看起来浏览器并不总是按预期四舍五入:

http://meyerweb.com/eric/thoughts/2010/02/10/rounding-off/

http://ejohn.org/blog/sub-pixel-problems-in-css/

*是的,我知道 20px 的字体大小并不总是意味着它以 20px 显示!

于 2011-10-05T09:39:33.853 回答
1

但应记住,小数 em 值与所有浮点数一样,容易受到舍入误差的影响。

我在设置媒体查询边界时发现了这一点,其中一个最大宽度与另一个最小宽度相距 0.00001em,并且它被四舍五入并且两个查询都被激活。将差异更改为 0.001em 后,查询完全按预期工作。

于 2019-04-02T21:00:35.113 回答