使用rem在里面设置font-size:root元素有效。为什么?

时间:2018-04-23 22:17:02

标签: css font-size

我最近遇到以下代码就像魅力一样:

:root {
  font-size: .8rem;
}

(即重新调整默认大小)。

我的问题是:为什么这有效?我是否正确使用:root内的rem应该是非法的或定义不明确的(因为rem被定义为相对于:root的font-size本身 - 所以使用rem来定义:root的属性至少很奇怪。

谢谢!

P.S。这是一个元问题&#39;了解CSS背后的计算机制。我非常确定这样做的规范方法是在根元素上设置百分比大小(a.k.a。<html>)。

1 个答案:

答案 0 :(得分:2)

rem值是相对于根元素的font-size属性,HTML文档是html元素。

根据关于rem值的CSS Values and Units Module Level 3

  

等于根元素上font-size的计算值。什么时候   在根元素的font-size属性上指定的rem单位   参考财产的初始值

如果根元素上没有设置显式值,它会从用户可以更改的浏览器设置继承它的值;通常,浏览器设置中的默认字体大小为16px或中等。

因此,如果您在根元素上设置rem,则相对于浏览器设置中的默认值设置它