当1em应用于元素时,它将采用浏览器的默认值(通常为16px)或其父级的font-size值,对吗?但是我注意到,如果我使用h1元素中的margin-top:1em(不使用重置样式表,因此h1设置为font-size:32px),那么1em等于32px,即使它的父元素设置为font-size:16px.
但是,使用像font-size这样的东西:100%;解决了差异.
我失踪了什么
解决方法
When 1em is applied to an element,it takes the default value of the browser (usually,16px) or the font-size value of its parent,right?
不,它需要自己的字体大小,根据其父级(或默认浏览器提供的值)计算.由于浏览器提供的h1的字体大小是32像素,因此所得的边距是32像素.
However,using something like font-size: 100%; solves the discrepancy.
通过设置font-size:100%;或font-size:1em;在一个元素上,你要告诉它使用其父代的100%的字体大小,所以设置1em为任何其他的长度将跟随100%.