CSS - 使用'em'指定字体大小

时间:2016-01-19 18:17:22

标签: css font-size em

我在CSS字体大小规则中遇到了一些非常奇怪的行为。我可能自己做了些傻事[这一定是个案;-)],但我希望有人可以为我指出。

目前(出于测试目的)我在样式表中只有一个font-size规则,它规定了所有字体大小,就是这样:

p, div, a, span {
               font-size:3em;
               }

现在我知道3em是一个非常大的字体大小(据我所知,它应该对应于大屏幕浏览器上大约3 * 16 = 48像素的宽度),但你在现实中看到的只是荒谬。看看:

  

http://www.svvreewijkdevaan.nl/nl/

如果您认为菜单中的字体大小(您在页面顶部看到的字体)很大,请向下滚动一下,您会发现字母变得如此之大以至于它们无法真正识别为字母了。

事实上,在Firefox检查工具中,我发现'3em'字母的字体大小为(得到这个)34992px,即差不多35000。这甚至意味着什么?

事实上,实际(显示的)字体大小(即宽度)似乎增长 - 至少 - 指数与指定的em编号,而不是按比例增长。因此,例如,如果我将3em替换为3.5em,则显示的字体大小至少变为宽度的两倍(实际上更多)。相反,如果我将指定的字体大小减少到1em,我会得到 - 正常和预期 - 大小约为16px。但如果我把它设为0.7em,宽度可能减少到2px(绝对不可思议的小)。

因此我的问题是:为什么真实(显示的)字体大小与我的样式表中指定的font-size(就'em'而言)成比例增长?

提前致谢。

1 个答案:

答案 0 :(得分:0)

em基于元素的字体大小。现在,如果嵌套元素已将em中的字体大小设置为彼此 - 这些值将乘以

  • 要么不要使用em中设置的字体大小嵌套元素那么多;
  • 将其设置为较少的元素(例如仅针对divp,并让后代继承该大小);
  • 或者查看rem单位。