在CSS中,一个em
是基于文档的字体大小的相对单位。 那么,到底什么是em
那么,如果文件本身的字体大小在EMS是衡量? 假设我们说:
<style type = "text/css">
body
{
font-size: 1em;
}
</style>
所以,一个em
现在递归定义。 那么这是怎么通过浏览器处理?
在W3C文档说:
的“时间”单元是等于在其上所使用的元件的“字体尺寸”属性的计算值。 当“时间”中的“字体尺寸”属性本身,在这种情况下,它指的是父元素的字体大小的值发生异常是。 它可以用于垂直或水平的测量。 (此单元有时也被称为四叉宽度在印刷文本。)
但是,如果该元素是什么document.body
,所以没有父元素?
body
不是文档根元素-这是一个很常见的误解。 的父元素body
是html
,它的默认字体大小浏览器的默认字体大小设置(通常是相匹配16px
)。 1
这适用即使你设置font-size
在EMS上都值body
和html
。 所以,如果你这样做:
html, body { font-size: 2em; }
然后,假定的默认字体大小16px
作为由用户设置, html
将具有的字体大小32px
(两次的默认字体大小)和body
将具有的字体大小64px
(两次其父的html
)。
1 要确切地说, html
元素的默认字体大小是初始值, medium
,根据该规范对应于优选的默认字体大小作为由用户设置。
这将需要如果没有父元素定义了它的浏览器的16px的默认值。
也看到这一点: http://pxtoem.com/
这将是相对于任何浏览器的默认字体大小,这将在物理尺寸来指定,例如“10PT”。