的确是这样!我可以证明。让我们先来看一些CSS代码:
css
.a {
color: red;
}
.b {
color: blue;
}
现在让我们看一些标记:
html
<div class="a b">Here's some text</div>
文本会是蓝色的,因为.b
在CSS中是最后定义的,对吧?但如果我们改变一下在HTML中调用这些类的顺序:
html
<div class="b a">Here's some text</div>
你认为文字应该是什么颜色?红色还是蓝色?
这听起来可能是一个愚蠢的问题,但它往往会绊倒许多碰巧熟悉CSS-in-JS解决方案的人。本周,我与两位非常资深的前端工程师进行了交谈,他们也有类似的想法!
但是无论这些CSS类的顺序如何,上面示例中的文本始终是蓝色的。这是因为标记只是按照CSS的写入顺序读取------在这个例子中,层叠优先。