18

当 1em 应用于元素时,它采用浏览器的默认值(通常为 16px)或其父元素的 font-size 值,对吧?但我注意到,如果我margin-top: 1emh1元素中使用类似的东西(不使用重置样式表,因此 h1 设置为font-size: 32px),那么 1em 等于32px,即使它的父元素设置为font-size: 16px

但是,使用类似 font-size: 100%; 解决了差异。

我错过了什么?

4

2 回答 2

15

当 1em 应用于元素时,它采用浏览器的默认值(通常为 16px)或其父元素的 font-size 值,对吗?

不,它需要自己的 font-size根据其父级(或默认浏览器提供的值)计算。由于浏览器提供font-sizeh1是 32 像素,因此结果边距为 32 像素。

但是,使用类似 font-size: 100%; 解决了差异。

通过设置font-size: 100%;font-size: 1em;在一个元素上,您告诉它使用其父级字体大小的 100%,因此1em在其他任何内容上设置为长度将遵循该 100%。

于 2012-02-28T22:48:52.843 回答
11

1em等于相关元素的字体大小。因此,当将其与边距一起使用时,它将等同于您正在应用边距的元素的字体大小。

于 2012-02-28T22:49:29.210 回答