在关于MDN的Using CSS Nesting指南的示例部分中,我们具有以下HTML struct :
<div class="wrapper">
<article class="card">
<h2>Card 1</h2>
<p>Lorem ipsum dolor, sit amet consectetur adipisicing elit.</p>
</article>
<article class="card featured">
<h2>Card 2</h2>
<p>Lorem ipsum dolor, sit amet consectetur adipisicing elit.</p>
</article>
...
</div>
和css:
.card {
padding: 0.5rem;
border: 1px solid black;
border-radius: 0.5rem;
& h2 {
/* equivalent to `.card h2` */
color: slateblue;
.featured & {
/* equivalent to `.featured .card h2` */
color: tomato;
}
}
}
我的问题是关于这条css行:
/* equivalent to .featured .card h2 */
个
它怎麽工作?因为在本例中,.card
元素不是.featured
元素的子元素,但是仍然应用样式.
我的理解是,应该是这样的:
.featured.card h2
个
我不明白在这种特殊情况下,当我们有几个层嵌套并且在 Select 器的末尾有&
个层时,嵌套如何工作.