没错!而且我也可以证明这一点。让我们先看一下一些 CSS
.a {
color: red;
}
.b {
color: blue;
}
现在让我们看一下一些标记
<div class="a b">Here’s some text</div>
文本将是蓝色,因为 .b
在 CSS 中最后定义,对吧?但是,如果我们改变这些类在 HTML 中的调用顺序呢?
<div class="b a">Here’s some text</div>
您认为文本应该是红色还是蓝色?
这听起来可能像一个愚蠢的问题,但它往往会让很多熟悉 CSS-in-JS 解决方案的人感到困惑。本周我与两位非常资深的 前端工程师交谈过,他们也持有类似的观点!
但上面的示例中的文本无论这些 CSS 类的顺序如何,始终是蓝色。这是因为标记只是按照 CSS 的书写顺序读取 CSS——级联在此示例中占优势。
的确。DOMTokenList(或者它叫什么名字)通常被认为是无序的。
然而,出于格式良好的考虑,最好将这些元素保持相同的顺序,尤其是在使用 Bootstrap 或类似模型时,因为这样可以提高压缩和可读性。
因为它是层叠样式表。层叠顺序才是重要的。
如果我们认为在显示 HTML 之前,它会先加载 CSS……那么它将在级联文件中加载最后一个并进行着色。
CSS 始终从下到上、从右到左进行,因此 CSS 的顺序很重要,而 HTML 中的类顺序并不重要。
嗯,除非您使用 [class^=”a”]。
您让我以为您可能是正确的。我在浏览器中尝试了一下……结果令人惊讶……它产生了相同的结果。
这很有道理。CSS 被解释(和级联等等),而不是 HTML。
对于样式来说,顺序无关紧要。但是 Gzip 和 Brotli 压缩呢?Gzip 会压缩类似的字符串。