【发布时间】:2020-05-08 21:19:42
【问题描述】:
CSS 单元 rem 是“root em”的缩写。在 CSS 2rem 中使用时,其计算结果为“根元素字体大小的两倍”,在 HTML 文档中是 HTML 元素字体大小的两倍。我知道我可以通过在 HTML 元素中指定它来更改字体大小,例如html { font-size: 10px; }。但是使用 rem 单位这样做有意义吗?它甚至意味着什么?规范有说吗?
【问题讨论】:
CSS 单元 rem 是“root em”的缩写。在 CSS 2rem 中使用时,其计算结果为“根元素字体大小的两倍”,在 HTML 文档中是 HTML 元素字体大小的两倍。我知道我可以通过在 HTML 元素中指定它来更改字体大小,例如html { font-size: 10px; }。但是使用 rem 单位这样做有意义吗?它甚至意味着什么?规范有说吗?
【问题讨论】:
如果未指定 font-size,浏览器将使用默认大小(大多数情况下为 16px,但我在 CSS 规范中的任何地方都找不到它)。
现在在根元素中使用 rem 将使用该默认值并将其相乘,1rem = 16px,2rem = 32px。
规范似乎证实:https://www.w3.org/TR/css-values-4/#rem
rem 单位
等于根元素上计算的 font-size 值。 在根元素的 font-size 属性上指定时,rem 单位指的是属性的初始值。
我不会说这有任何意义,因为在 CSS 中依赖浏览器的默认值不一定是个好主意,但如果你想乘以浏览器的默认字体大小,你可以。
【讨论】: