使用em的边距和填充

时间:2012-02-28 22:43:49

标签: css margin em

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

但是,使用像font-size这样的东西:100%;解决了这种差异。

我错过了什么?

2 个答案:

答案 0 :(得分:13)

  

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

不,它需要自己的 font-size,基于其父计算(或默认的浏览器提供的值)。由于浏览器提供的font-size h1为32像素,因此生成的边距为32像素。

  

但是,使用像font-size这样的东西:100%;解决了这种差异。

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

答案 1 :(得分:10)

1em等于元素的字体大小。因此,当使用边距时,它将等同于您应用边距的元素的字体大小。