“使用相对单位的样式表可以更轻松地从一个输出环境扩展到另一个输出环境”?

"Style sheets that use relative units can more easily scale from one output environment to another"?

提问人:Matthias 提问时间:8/5/2023 更新时间:8/5/2023 访问量:26

问:

CSS 规范在谈论相对单位与绝对单位时有这样的声明:

使用相对单位的样式表可以更轻松地从一个输出环境缩放到另一个输出环境

这是什么意思,为什么是真的?

  1. “更容易扩展”是什么意思?
  2. 什么是“输出环境”?

“输出环境”

这是指屏幕的dpi吗?还是印刷媒体与屏幕媒体?或者它是否与 UA 自定义样式表或可访问性文本大小调整有关?

“更容易扩展”

这是否意味着在具有不同 dpi 的不同屏幕上查看时,元素大小将保持相对一致?也就是说,一个元素和一个元素在不同的屏幕上相比是相同的相对大小,而一个和一个元素的大小相对于彼此会有所不同?这似乎不是真的。1rem1.2rem14px16px

或者这与基本字体大小有关?也就是说,由于相对单位是相对的,因此它们可以相对于基本字体大小进行缩放。

这假定 UA 根据设备屏幕的 dpi 设置基本字体大小。规范指出基本字体大小是绝对值:

在根元素的属性中指定时,等于属性的初始值。font-size1remfont-size

初始值为 。font-sizemedium

medium是一个 ,这些映射由 UA 定义。absolute-size

因此,可以说,由于相对长度单位可以基于根字体大小,因此它们可能会受到 UA 关于基本字体大小的决定的影响。

但目前尚不清楚为什么这是一件好事,与简单地使用CSS像素相比,CSS像素应该始终具有相同的物理尺寸(大约1/96英寸)。某些浏览器是否违反了此规则,将“CSS 像素”的大小缩小到更小,例如在 Android 上 Chrome 的“桌面模式”中?

因此,如果基本字体大小和 CSS 像素都基于 dpi,并且它们都旨在显示一致的物理大小,那么使用其中一个或另一个有什么好处,除非在某些情况下 UA 将根字体大小更改为不一致的物理大小。

CSS W3C

评论

1赞 TylerH 8/5/2023
绝对单位不缩放;这就是绝对的意思。它们被设计为可靠的尺寸,只有在环境实际上不支持给定尺寸时才会改变。有关详细信息,请参阅 w3.org/Style/Examples/007/units.en.html
0赞 Matthias 8/5/2023
有两票接近,称这个问题是基于意见的。选民们能解释一下吗?
0赞 Matthias 8/5/2023
@TylerH我明白你在说什么,但有细微差别,因为像素确实以两种方式缩放:浏览器缩放和与 dpi 相关。因此,我要补充一点:“绝对单位不会根据字体大小进行缩放”。这似乎是问题的症结所在:并且可以根据祖先字体大小进行缩放,而像素则不能。emsrems

答:

1赞 Temani Afif 8/5/2023 #1

如果您打开谷歌浏览器设置页面,您可以找到以下内容:

enter image description here

您可以将 from 更新为其他内容,这仅在使用 和 单位时才会生效。font-sizemediumremem

如果您只考虑像素值,您将使该设置毫无用处,并且人们无法增加您网站的像素值。font-size