使用rem设置内部的字体大小:根元素有效。为什么?
我最近遇到了这样一个事实:以下代码运行起来非常棒:
:root {
font-size: .8rem;
}
(即它重新调整默认大小)。
我的问题是:为什么这样做有效?在:root
中使用rem应该是非法的或定义不正确(因为rem被定义为相对于:root
的字体大小本身-因此使用rem来定义:root
的属性至少是奇怪的),这对吗?
谢谢!
附注:对于理解CSS背后的计算机制,这是一个"元问题"。我非常肯定,这样做的规范方法是在根元素上设置百分比大小(也称为。<html>
)。
html
rem值相对于根元素的font-size
属性,对于推荐答案文档,该属性是html元素。
根据CSS Values and Units Module Level 3关于rem值:
等于根元素上的Font-Size的计算值。什么时候 在根元素的Font-Size属性上指定,rem单位 引用属性的初始值
如果没有在根元素上设置显式值,它将从用户可以更改的浏览器设置中继承其值;通常,浏览器设置中的默认字体大小为16px或Medium。
因此,如果您在根元素上设置rem,则是相对于浏览器设置中的默认值进行设置
相关文章