CSS 中有相当多的属性接受长度作为值。 盒模型属性是最明显的:width,height,margin,padding,border。 但还有很多其他属性:box-shadow 的偏移量和大小,或者字体的尺寸和间距。 CSS 中所有接受的“长度”属性是什么? 实际上有很多。
绝对长度
px
.wrap {
width: 400px;
}
像素与您正在观看的显示器中的实际屏幕像素无关。 它实际上是一个 角度测量。
关于 CSS 中像素的书呆子部分
CSS 中的像素锚定到 CSS 参考像素,它是 1 个像素的视觉角度,即 0.0213 度或 1.278 分弧度。 这是基于像素密度为 96 DPI 的设备,与读者距离为 28 英寸的臂长。 因此,设备制造商可以使用参考像素来根据预期的视觉距离设置尺寸。
它应该是一个在不同设备和显示器上标准化的值,但这在日益增加地不再成立。 例如,iPad mini 上的网站 呈现结果与 iPad 上相同,这意味着如果这些值以像素设置,则该标准化将不复存在。
不过,像素仍然是网络上的规范测量单位,因为它们始终如一地被处理,许多其他长度直接映射到像素,并且 JavaScript 使用像素进行对话。
in
.wrap {
width: 4in;
}
英寸是一种物理测量,但在 CSS 世界中,它们直接映射到像素。 请随时在评论中加入用例,我将在这里添加它们,但我从未见过对这种物理测量或其他物理测量的实际用例。
1in == 96px
cm
.wrap {
width: 20cm;
}
对于世界上大多数地区来说,厘米作为一种物理测量更熟悉且有用。 它们也直接映射到像素。
1cm == 37.8px
mm
.wrap {
width: 200mm;
}
再小一个数量级…
1mm == 0.1cm == 3.78px
字体相关的长度
Em
.wrap {
width: 40em;
}
一个相对单位。 最初是 一种印刷测量单位,基于当前字体的字母“M”的大写。 尽管当您更改 font-family
时长度不会改变,但当您更改 font-size
时它会改变。
没有任何 CSS 的情况下,1em 将是
1em == 16px == 0.17in == 12pt == 1pc == 4.2mm == 0.42cm
如果任何 CSS 更改了字体大小(在文档中的任何级别),1em 将变为新的 font-size
是多少。
使事情变得更加有趣,em 单位在应用于 font-size
时会自我相乘,因此,如果具有 font-size 1.1em 的元素位于具有 font-size 1.1em 的元素中,而该元素又位于具有 font-size 1.1em 的元素中,则结果大小将为 1.1 ✕ 1.1 ✕ 1.1 == 1.331rem(根 em)。 也就是说,即使将元素设置为 10em,也不意味着它在任何地方出现时都会保持一致的宽度。 如果 font-size
发生变化,它可能更宽或更窄 (查看证明)。
Rem
.wrap {
width: 40rem;
}
一个相对单位,就像 em,但它始终相对于“根”元素(即 :root {}
),而不是像 em
那样使用级联。 这极大地简化了使用相对单位的工作。
值得注意的浏览器支持问题:在 IE 8、Safari 4 或 iOS 3.2 中不起作用。
Points
.wrap {
width: 120pt;
}
1 个点是一个物理测量单位,等于 1/72 英寸。 点是除 CSS 之外最常见的类型大小方法(这可能是它在 CSS 中得到支持的原因)。 它在语言中仍然很常见,“当然他们将这些重要信息设置为只有 8 个点的微小字体!”。
点在印刷样式表中用于对类型进行大小调整时最有意义,因为涉及物理介质,但没有任何东西可以阻止您将 pt 用于屏幕介质或任何其他接受长度的地方。
值得注意的浏览器支持问题:以前,pt 尺寸的屏幕渲染存在很大差异。 这是一个比较IE 6 与 Firefox(可能是 3.6)之间的差异。
Pica
.wrap {
width: 12pc;
}
与点相同,只是 1pc == 12pt。
ex
.wrap {
width: 60ex;
}
这是一个基于当前字体 x 高度的测量。 有时这来自嵌入字体本身的信息,有时浏览器通过测量小写字形来计算它,最糟糕的情况是,它被设置为 0.5em。 它被称为“x”高度,因为它据说是基于 x 字符的高度。 要了解 x 高度,请想象一个带有突出部分(升部)的小写字符,例如小写“d”。 x 高度不包括该升部,它是该字符下方循环部分的高度。
与 em 不同,em 在更改字体族时不会改变,ex 单位在更改字体族时会改变,因为 1 个单位的值与该字体特别绑定。 (证明)。
ch
.wrap {
width: 60ch;
}
这与 x 高度类似,只是 ch 基于数字零 (0) 的宽度,而不是 x 字符的高度。 它也会随着字体族的改变而改变。
视窗百分比长度
这些浏览器支持数据来自 Caniuse,其中包含更多详细信息。 数字表示浏览器从该版本及更高版本开始支持该功能。
桌面
Chrome | Firefox | IE | Edge | Safari |
---|---|---|---|---|
26 | 19 | 11 | 16 | 6.1 |
移动/平板电脑
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
127 | 127 | 4.4 | 8 |
vw
.wrap {
width: 10vw;
}
这是“视窗宽度”单位。1vw 等于视窗宽度的 1%。它类似于百分比,但值对于所有元素保持一致,无论其父元素或父元素的宽度如何。有点像 rem 单位始终相对于根元素。
尺寸类型是这里的主要用例。请参阅 视窗大小的排版。
值得注意的浏览器支持问题:除了最新的 iOS 6 之外,任何移动浏览器都不支持。这对所有与视窗相关的长度单位都是如此。
vh
.wrap {
width: 10vh;
}
这与 vw
(视窗宽度)单位相同,只是它基于视窗高度。
vmin
.wrap {
width: 20vmin;
}
该值将是当前 vw
或 vh
中较小的一个。在尺寸类型的标准用例中,这在确定真实屏幕大小时,可能比单独的 vw
或 vh
更有用。
vmax
.wrap {
width: 20vmax;
}
该值将是当前 vw
或 vh
中较大的一个。
值得注意的浏览器支持问题:基于 WebKit 的浏览器支持 vmin 但不支持 vmax(尚未)。虽然 Firefox 支持 vmax。
奇葩
百分比
.wrap {
width: 50%;
}
以百分比设置的长度基于父元素相同属性的长度。例如,如果一个元素以 450px 的宽度呈现,则宽度设置为 50% 的子元素将以 225px 呈现1。
小知识:百分比在技术上并非长度单位,但由于它与长度单位密切相关,因此将其包含在此处。
更多信息
您的浏览器支持哪些内容?
Check out this Pen!
1 假设子元素不是内联级别元素或表格单元格,并且没有奇怪的表格样式,或者不是弹性子元素或网格单元格,或任何其他花哨的奇特样式。
哇,我不知道其中很多。恭喜您发布这篇文章,非常棒 :D
相当有趣。我希望 rem 能够更好地支持,因为我发现 em 很尴尬使用 - 我仍然忍不住使用像素。
我同意。您必须非常勤奋才能正确使用 em。它们确实有自己的优势,但我发现,那些来自开发背景的人更容易使用它们。
我发现设计师通常坚持使用 px,因为它似乎可以最直接地控制尺寸……而且他们通常来自印刷背景,在印刷背景中,您使用的是固定介质。您很少会告诉设计师:“我需要一个设计,这个设计对于名片、广告牌和酒窖里的墙面都能一样好。”
这或多或少是我们必须在网络上解决的问题,而且在 RWD 成为主流之前,一个设计必须适用于移动设备、30 英寸屏幕和旧的闪烁的 CRT 显示器。
rem 和 em 让您更好地了解文本的相对大小。这也让您不太容易只选择像素大小然后看看它是否有效。相反,我发现它们倾向于鼓励根据标题与其周围内容之间的关系来开发系统。
例如,如果您想要一个标题,其大小是正文文本的两倍,您只需说它的大小是 2em 即可。
在设置行高时,它也非常有用。1em 将始终等于字体的尺寸,无论它是什么。同样,1.5em 将为您提供 50% 的额外垂直高度。
将它与使用像素进行设置进行比较,您可以随意设置任意值。正文为 16px,h2 为 34px……行高为 36px,边距为 8px……这些是程序员所说的魔术数字,可能没有选择它们的理由。
我不反对使用像素,我只是认为,如果您能够使用 em 或 rem,您将更多地考虑文本是如何与其他文本相关的。
如果您使用的是旨在打印的 CSS,物理测量很有用。
我本来要发布同样的答案。我最近在简历网站和其他用户可以打印已完成表格的网站上做到了这一点。
-dk
英寸、厘米和毫米对于印刷媒体样式表很有用,因为印刷媒体本身是用这些单位测量的(ISO 216)。在 Photoshop 和 Word 中,您会注意到画布和文档标尺默认以英寸或厘米为单位。
我理解 in、cm、mm == 物理测量,以及一张打印纸 == 物理物体,但我仍然不太明白为什么它们对于印刷样式表有用。
我以前创建过很多印刷样式表,但我从未使用过它们。并不是说这证明它们毫无用处,我只是说。
也许有人使用过它们,可以分享一个测试页面和关于它们如何有用的数据?
Chris:每次您将固定宽度布局从屏幕转换为打印时,由于宽度保持固定。有些东西确实需要固定布局;例如,简历。我在为简历创建印刷样式表时使用了英寸,预期它可能会打印在 A4 纸上。这使我能够在 Word 中精确地定义简历的页面布局,因为对页面布局的精细控制对于简历通常是必要的;然后创建与该页面布局几乎完全相同的样式表。
一张经典的 A4 纸张有 2.5 厘米的边距,但一个网页如果没有更改,边距大约为 1 厘米。
我已经设计过很多打印页面,或者更常见的是动态生成的 pdf。在这两种情况下,使用毫米都很不错,因为它们更“原生”于这些介质。
基本上,如果页面/pdf 是某种需要生成的报告,并且您希望事物以特定方式排列,我发现它比 px 更容易和更可靠。如果要打印的页面只是一般页面,则使用毫米重新设置所有内容的印刷样式表就太过分了。
出色的文章,Chris。感谢您所做的所有工作和研究。
一个小小的澄清:1mm 的方程式应该是等于 3.78px 而不是 37.8px 吗?
谢谢!正在修复,修复后会把这个问题埋起来。
啊,太多不同的字体测量让马克思考不起来。保持简单,除非你有像上面其他人提到的那样非常具体的用例,比如为印刷而准备的文档。
这篇文章很棒!非常有见地。我只使用 px 和百分比作为长度。我知道 mm、cm 和英寸。但我很惊讶地了解到 CSS 支持多少种长度类型。我仍然会在大多数情况下坚持使用 px,但这些测量单位在特定项目中确实非常有用。
测试笔在 IE9 上对我不起作用——所有条形都非常短,但 :fail 类没有添加到任何一个……
对奇怪单位的一个奇怪例外:边距/填充顶部和底部的百分比单位是根据包含块的宽度,而不是高度计算的。
http://www.w3.org/TR/CSS2/box.html#margin-properties
我发现自己只在 CSS 中使用 px。我一定是老派了 :)
我也是,我只想让它完全按照我设计的样子。
Chris:很棒的文章,干得好。
我认为这与其说是老派,不如说是你在网页设计中起步的地方。很多印刷设计师或老牌网页设计师使用 px,因为他们习惯于控制媒体,但 ems 有其用武之地,尤其是在响应式网页设计中。例如,如果您希望所有文本在超宽桌面上的尺寸大 10%,那么您只需要在一个地方更改它即可。
使用像素意味着您必须调整所有内容,无处不在。
你从未使用过 em 或 % 吗?
由于设备制造商总是根据物理长度设置设备的 dpi(例如显示器分辨率:72dpi,后来是 96dpi 或更大),因此 pt 对网页或任何移动设备来说都非常合适。如果您使用带有视网膜显示屏的 iPhone 4,dpi 将超过 300 dpi。这有助于系统和浏览器渲染几乎完美的物理尺寸,您不必处理数十种屏幕尺寸和分辨率,也不必重新计算基本字体大小或使用 px。14pt 在任何地方都是 14pt。我一直使用它,pt 是最方便的解决方案(用于字体大小)。试试吧 :)
Takehito,这是一个非常有趣的概念,非常想看看一些关于它的例子或文章,有什么想法或推荐的来源吗?
我之前为了测试其他东西而制作了这个,但文本是 pt。你所能做的最好的就是自己测试并查看结果。我知道使用 em 值或百分比等很花哨,但排版在过去几百年中一直使用精确的大小。别忘了 em 值只是一个比例,仅此而已,但更难弄清楚哪个项目从哪个父级继承了什么等等。(或者说我老了 :))
当我为网站(或印刷材料)构建标题系统时,我只用 pt 在媒体查询中覆盖一次,仅此而已。如果您使用 em 值,它听起来不错,只需更改基本值,但 h1、h2… 和 p 之间的字体大小“距离”在移动设备和桌面设备上是否相同?如果您查看我的示例,您会发现它在桌面上没问题,但标题在移动设备上看起来太大。如果您只使用一个比例,那么就不够了。您将不得不重新计算比例,但用 pt 思考难道不更容易吗?
我正在使用 Chrome 27 开发版,所有单位都受支持,包括 ch 和 vmax。
Chrome 25 稳定版不支持它们。
这可能意味着它们的支持将在几个月内很快被添加。
是的,Webkit 的夜间版也是如此。虽然这意味着 Safari 可能要一两年才能支持它们……我唯一羡慕 Chrome 用户的是更新计划。
该死,我刚从这里学到了一些新东西。Chris,你发现自己最常使用哪种单位?
如果你观看 Chris 的系列,你会发现他最常使用 px。许多在网络上设计的人使用 px。几年前有些人切换到 ems,因为 IE 无法正确缩放文本,并且遇到了继承复杂性的问题。浏览器缩放现在不再是问题,因此 px 仍然很好用。
从某种程度上来说,它更多地是关于所有这些的理念。
这与你之前在 inamidst.com 上发布的关于 px 作为角度测量的文章很好地结合在一起——我相信我们很多人在这里学到了很多。非常有趣!
实际上并非如此——它 *避免* 使用相对单位。
rem
可能会根据根em
大小而有所不同,但它是一个绝对测量值。这是一个很好的观点,但只是 *大部分* 为真。它至少在那个层面上仍然是相对的。这意味着当根大小发生变化时,所有内容都会同步调整。想象一下字距:2px; 当根大小发生变化时,它不会调整,如果你增加几个字体大小,它几乎毫无意义。但如果是 0.1rem,这个相对长度在任何根字体大小下仍然有意义。
同意,“大部分为真”。
我实际上是在想继承;
rem
是相对于根元素,而不是相对于其父元素。)
很棒的帖子,为什么这个网站没有社交分享按钮
我们最近在一个打印样式表中使用了 mm 测量,用于要下载的媒体。我们开发的产品允许用户下载和打印一个动态生成的带有条形码标签的 PDF,这些标签将用于书店货架上。)PDF 是使用 Wicked PDF 生成的,它将 html/css 转换为 pdf。
第一个原型使用了像素,但我们无法使每个标签完美对齐。然后我灵机一动,想起 CSS 可以处理真实测量单位(in、mm、cm)。标签说明中已经包含了以 mm 为单位的测量值,因此将 CSS 转换为匹配它非常容易,现在一切都完美对齐了。
+1 给那个。mm 是一种很好的方法来为印刷网站或生成的 PDF 设置样式。
这真的吗?(关于 em 的)
最近我在做一个设计时,我的 typekit 字体无法渲染,Helvetica 代替了它。似乎在所有边距、填充等地方都有稍微的空间。也许是因为 Helvetica 是一种更开放的字体?
物理单位对触摸设备非常有用。我的手指有固定的大小,因此按钮应具有固定的尺寸,例如至少 1.5cmx1,5cm。
现在我的 Kindle Fire 的 dpi 为 169dpi,我的 LG Optimus Black 的 dpi 为 233dpi。这意味着在 Fire 上使按钮为 1.5cm 的 100px 将导致 Optimus 上的 1.1cm。
按此解释的物理单位将解决此问题。
你可能会认为这是真的,但实际上,像素不是直接映射到屏幕上的点。它们是由设备制造商任意设置的。
如果你有一部旧的 iPhone 3GS 或一部旧的 iPod touch,你可以验证这一点。在这款设备和一部更新的视网膜 iPhone 上打开此网站。我以 iPhone 为例,因为屏幕尺寸在各代之间没有改变,只是显示器的像素密度发生了变化。你会发现它们在这两种设备上都一样。
这并不能阻止您使用媒体查询并将按钮设置为例如更大的 15mm,因为这样做在标记中更有意义,并且没有 57px 的负面影响(在编程中,您可能称之为魔法数字)。
在您的设备上查看此笔以测试它
http://codepen.io/garypaul/full/dnrvK
我最近使用 'ex' 作为字体大小来规范字体栈中的字体大小。问题是,Mac 字体渲染得比 Windows 字体小。'ex' 单位在旧版本的 IE 中表现不佳,因此我需要用像素覆盖这些值。
我一直想使用 ems,但发现它们太烦人了——每个嵌套元素似乎都需要一个类来控制其字体大小,而数学对我来说太难了。
然后出现了 rem 单位——完美,但是,唉,在 IE8 中不好用,而我们仍然在所有项目中支持它,并且将在未来一段时间内支持它。
但现在,由于 SASS 和 Chris 优秀的字体大小混合,幸福来临了——它接受一个等于所需 rem 大小的输入,即 1.6,然后将其乘以声明相同的字体大小为像素——因此我们获得了两种字体大小声明以确保深入的浏览器支持。
我还将它与将 html 元素大小设置为 62.5% 结合使用,因此 1 rem = 10px = 易于计算!
更多信息:https://css-tricks.cn/snippets/css/less-mixin-for-rem-font-sizing/
进行此操作的原因是允许用户在浏览器中设置文本大小——当用户在浏览器中将字体大小设置为大或特大等时,ems 和 rems 将由浏览器缩放。
很棒的文章!我真的不知道 CSS 支持这些类型的长度。无论如何,我一直很欣赏你的文章。再次感谢。
我像避瘟疫一样避开 px。喜欢 rems。SASS 使它们很好地协同工作。:)
我也喜欢我的 rems!我之前向 webkit 和 gecko 提交过这个 MQ 错误,因为在媒体查询条件中使用的 rems 不会触发查询中的实际内容。所以下面的例子目前在 Gecko 中不起作用——或者直到 FF 20 发布,因为我被告知了。这个问题似乎现在也已在 webkit 中得到解决。
使用 rem 的非工作 MQ 条件示例
与错误报告一起提交的演示
http://cdpn.io/AFjDK
cath,你为什么避免 px?只是为了了解更多关于 Web 开发的信息。
CSS 应该有一个“弧”单位,表示用户视野的一部分。
当你看它们太小的时候,字体大小就“太小了”。它取决于它们显示的大小,但也取决于你观看屏幕的距离。我知道这将问题推到了浏览器,浏览器现在需要知道你离屏幕有多远,但这将非常有用,例如,如果你想在电视上显示网站,或者如果你有一个视网膜显示屏。
感谢分享如此精彩的信息,尽管我仍然更喜欢 px 和 em。
很棒的文章!我最近开始使用 rems,到目前为止我很喜欢它们。
有些人只使用像素,他们错过了一些很棒的东西。你可以参考这个例子,几天前我在论坛上为一个人提供了帮助:http://codepen.io/Merri/pen/iFbng
随意更改字体,无论你能想到的任何字体(在 Windows 上,至少测试 Courier New 和 Times New Roman)。你会注意到,无论你使用哪种字体,文本都保持完美对齐。现在尝试使用像素来以类似的方式对齐文本,从而替换所有百分比、pts 和 ems。使用你喜欢的任何字体使它正确,然后尝试更改字体或字体大小。
本质上,你在那个页面上看到的技巧是能够在同一行上具有两行较小的文本,以及较大的文本。可以使用相同的想法进行内联块布局,尽管我还不确定它是否能为表格带来任何新东西。如果没有别的,我想你可以想象拥有图像,其中第一张图像很大,而所有其他图像都较小,并且有两行。或者甚至在同一行上拥有多个更大的图像,也许是某种“艺术家预览”。虽然这种布局在其他方法中也相当合理。
Flexbox 可能会比我想出任何真正独特的东西更快地成为日常使用的可能性,而这些东西只能用 line-height 和 vertical-align 的技巧来完成,就布局而言。:)
你说:width: 20vmax;
我的想法:这和 max-width: 20vw; 不一样吗?
因为 vmax 听起来很蠢。没有 pxmax 或其他东西……
查看此链接
http://www.kickstarter.com/projects/1894163124/web-designer-t-shirts/backers
关于移动浏览器支持
所有测试都通过了 FF 移动版 beta。
非常感谢……
嘿,Chris,
很棒的文章!我之前也写过这个主题,在这里
我对兼容性做了一些研究,你可以查看底部的表格。希望它有用,不要被视为垃圾邮件。
我认为我们需要一个 line-height 单位。
因此,水平菜单的高度可以轻松地为 1 line-height,
侧边栏可以轻松地容纳 5 行链接。
height: 1.4em 可以转换为
height: 1lh
为什么还没有实施?
我正在使用 Chrome Canary 27,它支持
ch
单位。嗨,Chris,
我认为
em
与继承关系更大,而不是级联。当然,这是一个更好的词。
它们始终相对于其父元素。
这些太复杂了,我仍然想坚持使用 px 和百分比。
关于“px 是一个角度测量”的说法是错误的;上面链接的文章在这里被解构了
http://omnicognate.wordpress.com/2013/01/07/in-css-px-is-not-an-angular-measurement-and-it-is-not-non-linear/
值得注意的是,ems(以及后来的 rems)在“弹性”/“流体”布局流行时变得流行起来,当时每个人都担心在用户放大和缩小时保持布局一致。随着每个人都开始使用响应式设计,这种做法似乎已经过时了。
YouTube 曾经完全使用百分比构建他们的界面。我认为,其原因是他们希望支持尽可能多的智能电视和视频游戏机,并且只要整体布局大致保持,即使一些文本稍微压缩也无妨。我曾使用相同技术在一个 VOD 公司的克隆上工作,这是我做过的最可怕的工作之一。
这太棒了!我在很多情况下使用过这个测试,看看哪些浏览器支持哪些单位。它们中的大多数并不常见。很难只有一种偏好,因为我看到了所有单位的缺点(主要是支持)。
Chris,另一篇很棒的文章,谢谢!
Chris -
我认为物理单位(in.,cm.)唯一有用的场景是构建最终将发送到打印机的东西。
例如,我的公司正在与客户合作,以特定打印尺寸制作他们想要的任何东西的打印件。你还可以将徽标上传到一个大约为 4 英寸 x 2 英寸的空间中。该网站将提供实时预览,因此查看徽标在实际物理空间中的外观可能会有用。
这真是一个有用的帖子。
但它需要更多关于 em、rem 和其他事物的使用方法的解释。
如果可能的话,你可以举一个示例程序,这样会更有用。
你在下面给出了很好的例子来说明它们的用法。
奇怪的是……你说
ch
没有 Webkit 支持,但你的测试显示在我的 Chrome 27 Beta 中支持它。总之,这是一篇很棒的文章;它是一个很好的参考资料。我一直使用 em 来设置字体。
我一直使用像素来设置其他所有内容,但是随着 RWD 的出现,我最近开始使用百分比。
是的,我普遍使用相对尺寸,但有一个例外。这就是你看到“没有实际用途”的地方,我很乐意听到你的想法。我的图形编辑器将图像存储为精确的像素大小。为了将它们用作,例如,背景图像(图标?)来说明链接,我有时使用 padding-left: [n]px,其中“n”用于容纳图像。由于我使用的是可调整大小的字体,但不使用可调整大小的图像,你还有什么建议吗?
太多了,但我只知道其中几个。
Chris Coyier,再次感谢你写了这篇很棒的文章:)
我经常使用 px
我想问一下,在上面那种尺寸中,哪一种更好呢?
谢谢
基于 Webkit 和 Blink 的浏览器似乎会错误地将百分比高度应用于具有
vh
单位高度的元素的后代。 在这个示例中,Fx 和(甚至)IE9 使嵌套的(绿色)div 与其 70-vh
高的红色父元素一样高,而 Chrome 和 iOS Safari 则根本不会拉伸它。你能更新一下 iOS 在视网膜显示器上的新行为吗?
我猜他们之前没有实现它,因为 10vw 在视网膜显示器上比在台式机上要大。
我一直关注着你们(和其他人的)关于使用 vw 来动态更改我的新布局中的字体大小的酷想法,现在我开始测试移动版本的触摸下拉菜单(另一个重磅炸弹),我意识到所有动态调整大小的元素(很多!)在 iOS 中都大了一倍!。
Chrome 开发者工具对确切设备(iPhone 5)的模拟是错误的,即使使用自定义设置,我也无法获得相同的结果。
简而言之:跟踪使用 vw 单位的规则,并为 devicePixelRatio 为 2 的情况制作一个新版本,(使用 SASS 应该很容易,但我还没有花足够的时间学习它来提前规划)
现在我必须去研究如何向我的 body 元素添加一个新的像素比类,以便仅在视网膜显示器上更改大小 :(