13

在 CSS 中,anem是基于文档字体大小的相对单位。那么,如果文档本身em的字体大小以 em 为单位衡量,那么究竟是什么?假设我们说:

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

因此,em现在递归地定义了 an。那么浏览器是如何处理的呢?

W3C 文档说:

'em' 单位等于使用它的元素的 'font-size' 属性的计算值。例外情况是 'em' 出现在 'font-size' 属性本身的值中,在这种情况下,它指的是父元素的字体大小。它可用于垂直或水平测量。(这个单位有时也被称为印刷文本中的四边形。)

但是如果元素是document.body,那么没有父元素呢?

4

3 回答 3

28

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

即使您在和上font-size设置了ems 值,这也适用。所以如果你这样做: bodyhtml

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

然后,假设16px用户设置的默认字体html大小为32px(默认字体大小的两倍) ,其body字体大小为64px(其父字体大小的两倍html)。


1 准确地说,html元素的默认字体大小是初始值 ,medium根据规范,它对应于用户设置的首选默认字体大小。

于 2012-05-06T13:05:16.553 回答
0

如果没有父元素定义它,它将采用浏览器的默认值 16px。

另见: http: //pxtoem.com/

于 2012-05-06T13:07:00.680 回答
-2

它将与浏览器的默认字体大小相关,它将以物理大小指定,例如“10pt”。

于 2012-05-06T13:05:34.530 回答