CSS font-size:将其设置为 * 作为 rem 和 body font-size 的倍数乘以两倍

问题描述 投票:0回答:1

请参阅下面代码片段的控制台输出。我在示例中使用了 0.5 的乘数,因为它使乘法变得简单,并说明它可以双倍缩小字体大小以及双倍增加字体大小。

我使用 * 通用选择器将字体大小设置为 0.5rem。没有其他设置。 documentElement 字体大小为 8px,正如我所期望的标准 1rem = 16px。但正文字体大小为 4px,即 16 x 0.5 x 0.5。我意识到,出于各种原因,为了设置全局字体大小,我应该使用 html 选择器或正文本身而不是 * 通用选择器,但我想了解为什么会发生这种情况。如果我使用 html 选择器,两个值都会正确设置为 8px。我在 Windows 上的 Chrome 和 Firefox 中对此进行了测试,结果相同。

为什么会出现这种情况?

console.log("doc:  " + getComputedStyle(document.documentElement).fontSize);
console.log("body: " + getComputedStyle(document.body).fontSize);
* { font-size: 0.5rem; }

html css font-size
1个回答
0
投票

根据这里

rem 代表 root em,它是一个测量单位,指的是文档根元素的字体大小。它是一个相对单位,这意味着当根的字体大小发生变化时,使用它的所有值都会发生变化。本例中的根元素指的是 html 元素。

浏览器中的默认字体大小是

16px

document.documentElement
<html>

html{font-size:0.5rem}
= 8 像素

body{font-size:0.5rem}
= 4px(基于
html

© www.soinside.com 2019 - 2024. All rights reserved.