什么是“EM”如果在EMS指定的文档的字体大小?(What is an “em” if the fo

2019-06-24 05:32发布

在CSS中,一个em是基于文档的字体大小的相对单位。 那么,到底什么是em那么,如果文件本身的字体大小在EMS是衡量? 假设我们说:

<style type = "text/css">
body
{
    font-size: 1em;
}
</style>

所以,一个em现在递归定义。 那么这是怎么通过浏览器处理?

在W3C文档说:

的“时间”单元是等于在其上所使用的元件的“字体尺寸”属性的计算值。 当“时间”中的“字体尺寸”属性本身,在这种情况下,它指的是父元素的字体大小的值发生异常是。 它可以用于垂直或水平的测量。 (此单元有时也被称为四叉宽度在印刷文本。)

但是,如果该元素是什么document.body ,所以没有父元素?

Answer 1:

body不是文档根元素-这是一个很常见的误解。 的父元素bodyhtml ,它的默认字体大小浏览器的默认字体大小设置(通常是相匹配16px )。 1

这适用即使你设置font-size在EMS上bodyhtml 。 所以,如果你这样做:

html, body { font-size: 2em; }

然后,假定的默认字体大小16px作为由用户设置, html将具有的字体大小32px (两次的默认字体大小)和body将具有的字体大小64px (两次其父的html )。


1 要确切地说, html元素的默认字体大小是初始值, medium ,根据该规范对应于优选的默认字体大小作为由用户设置。



Answer 2:

这将需要如果没有父元素定义了它的浏览器的16px的默认值。

也看到这一点: http://pxtoem.com/



Answer 3:

这将是相对于任何浏览器的默认字体大小,这将在物理尺寸来指定,例如“10PT”。



文章来源: What is an “em” if the font-size of the document is specified in ems?