我有一个包含文章的公共元素,并且希望以不同方式对待除第一个子元素之外的所有子元素,如下所示:
.listing{
article{
// Some styles
}
article:not(:first-child){
// Some more styles
}
}
Run Code Online (Sandbox Code Playgroud)
一切都很好。然而,在某些列表中,它们应该被同等对待,所以我不想包含 Article:not(:first-child) 选择器,它需要如下所示:
.listing.alt{
article{
// Some styles
// Some more styles
}
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能结合这两个规则而不重复一切?
好吧,我想我已经用 Sass 弄清楚了:
.listing{
article{
// Generic Styles
}
&.alt article,
&:not(.alt) article:not(:first-child){
// More Styles
}
}
Run Code Online (Sandbox Code Playgroud)
我还发现我的原始代码示例有点奇怪,因此我对其进行了更新,使其更加正确。