使用分数em';CSS中的s';s字体大小属性

使用分数em';CSS中的s';s字体大小属性,css,font-size,em,Css,Font Size,Em,比如,我定义了以下CSS规则: .className { font-size:0.89em; } 我的问题是,当我为浏览器指定“em”时,我能“深入”到多大程度,以使浏览器真正支持它,并使字体大小因em值的微小分数变化而呈现不同?JohnB是正确的。无论使用何种大小单位,我们仍然以像素为单位进行渲染,ems中的微小更改不会改变显示的大小: 例如,对于最初以20px*高度显示的文本,我们可以看到,当添加规则使其与原始高度相差.99em时,没有任何有效的更改: 20 * 0.99 = 19.8

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

.className {
font-size:0.89em;
}

我的问题是,当我为浏览器指定“em”时,我能“深入”到多大程度,以使浏览器真正支持它,并使字体大小因em值的微小分数变化而呈现不同?

JohnB是正确的。无论使用何种大小单位,我们仍然以像素为单位进行渲染,ems中的微小更改不会改变显示的大小:

例如,对于最初以20px*高度显示的文本,我们可以看到,当添加规则使其与原始高度相差.99em时,没有任何有效的更改:

20 * 0.99 = 19.8 
浏览器无法显示0.8像素,因此(假设它将向上取整)仍将显示为20px高

尽管浏览器似乎并不总是如预期的那样四舍五入:


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

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


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

它们似乎非常深入,我没有任何确切的数字可以提供,但签出类似的内容,然后就可以玩了。你会看到他们可以做任何事。我以前见过ems设置为0.631111111EM,它们工作正常。不过,这是否会明显不同于0.63em是不太可能的。非常好。而且,似乎大多数主流浏览器都会使用不同的字体大小来呈现em值的细微变化。你为什么不把它作为一个答案贴出来,我会检查它是否正确。最终,最小的刻度单位是1px,对吗?@JohnB嗯,我不是在说那个极端的情况。)对我来说,我很好奇,比如说,0.89em的渲染是否与0.88em不同等等。我想看看是否有人有更好、更完整的答案。我给它一天左右的时间。