我在CSS字体大小规则中遇到了一些非常奇怪的行为。我可能自己做了些傻事[这一定是个案;-)],但我希望有人可以为我指出。
目前(出于测试目的)我在样式表中只有一个font-size规则,它规定了所有字体大小,就是这样:
p, div, a, span {
font-size:3em;
}
现在我知道3em是一个非常大的字体大小(据我所知,它应该对应于大屏幕浏览器上大约3 * 16 = 48像素的宽度),但你在现实中看到的只是荒谬。看看:
如果您认为菜单中的字体大小(您在页面顶部看到的字体)很大,请向下滚动一下,您会发现字母变得如此之大以至于它们无法真正识别为字母了。
事实上,在Firefox检查工具中,我发现'3em'字母的字体大小为(得到这个)34992px,即差不多35000。这甚至意味着什么?
事实上,实际(显示的)字体大小(即宽度)似乎增长 - 至少 - 指数与指定的em编号,而不是按比例增长。因此,例如,如果我将3em替换为3.5em,则显示的字体大小至少变为宽度的两倍(实际上更多)。相反,如果我将指定的字体大小减少到1em,我会得到 - 正常和预期 - 大小约为16px。但如果我把它设为0.7em,宽度可能减少到2px(绝对不可思议的小)。
因此我的问题是:为什么真实(显示的)字体大小与我的样式表中指定的font-size(就'em'而言)成比例增长?
提前致谢。
答案 0 :(得分:0)
em
基于父元素的字体大小。现在,如果嵌套元素已将em
中的字体大小设置为彼此 - 这些值将乘以。
em
中设置的字体大小嵌套元素那么多; div
或p
,并让后代继承该大小); rem
单位。