如何计算em?

15

我注意到在不同的网站上使用1em会呈现不同的效果。

相对于什么来说是1em呢?

  • 所使用的字体?
  • 最大字体大小?
  • 页面的宽度/高度?
3个回答

13

请参考http://w3schools.com/cssref/css_units.asp

1个em等于当前字体大小。2em表示当前字体大小的两倍。比如,如果一个元素以12pt的字体大小显示,那么'2em'就是24pt。在CSS中,“em”是一个非常有用的单位,因为它可以自动适应读者使用的字体。

EM相对于定义它的当前元素。如果使用相对大小(如0.9em),它们将相乘,可能会导致意想不到的尺寸。

现在,默认字体大小在不同的浏览器之间是不标准的。并且在设置字体为特定像素单位时,IE存在问题(至少旧版IE)。关于字体大小的良好概述可以在A List Apart上找到


如果你想要使用相对大小但更加一致,请尝试使用 rem,它是指 html 元素上的默认字体大小:https://www.sitepoint.com/understanding-and-using-rem-units-in-css/ - Avishai

4
根据W3C标准,em单位的大小等于其所在元素的'font-size'属性的计算值。但若'font-size'属性的值中包含em单位,则该em单位的大小取决于父元素的字体大小。换句话说,em单位没有绝对大小,而是根据上下文而变化。对大多数Web设计师而言,这意味着它们出现在Web浏览器中。因此,1em高的字体正好与该浏览器的默认字体大小相同。对于大多数浏览器而言,默认值为:1em = 16px。

3

-链接似乎已经离线-这就是为什么链接文章的要点应该包含在答案本身中的原因。 - user57508
@AndreasNiedermair:感谢您指出这一点!我已经用存档副本替换了它。请注意,我的答案已经包含了与提问者原始问题相关的链接文章的精华。 - a3nm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接