仅对某些元素使用:not选择器的SCS/CSS

仅对某些元素使用:not选择器的SCS/CSS,css,sass,Css,Sass,我有一个包含文章的通用元素,我想对除了第一个孩子以外的所有孩子区别对待,如下所示: .listing{ article{ // Some styles } article:not(:first-child){ // Some more styles } } 一切都很好。但是,在某些列表中,它们应该被视为相同的,因此我不想包含article:not(:first child)选择器,它需要如下所示: .listing.al

我有一个包含文章的通用元素,我想对除了第一个孩子以外的所有孩子区别对待,如下所示:

.listing{

    article{

        // Some styles
    }

    article:not(:first-child){

       // Some more styles

    }

}
一切都很好。但是,在某些列表中,它们应该被视为相同的,因此我不想包含article:not(:first child)选择器,它需要如下所示:

.listing.alt{
    article{
         // Some styles
         // Some more styles
    }
}
如何在不重复所有内容的情况下组合这两条规则?

HTML

<div class="listing">
  <article>1</article>
  <article>2</article>
  <article>3</article>
</div>
<div class="listing alt">
  <article>1</article>
  <article>2</article>
  <article>3</article>
</div>

好的,我想我已经用Sass解决了:

.listing{

     article{
          // Generic Styles
     }

    &.alt article,
    &:not(.alt) article:not(:first-child){

       // More Styles

    }
}

我还发现我的原始代码示例有点奇怪,因此我对其进行了更新,使其更加正确。

感谢您的回复,但我特别希望将样式应用于除第一篇之外的所有文章。在您的示例中,我需要为我申请的第一个通用文章的子项反求所有样式。除非我遗漏了什么。我发现我误解了什么。这有用吗
.listing:not(.alt)article:not(:first child){color:gainsboro;}
再次感谢,我最终还是想到了同样的方法。全部排序!
.listing{

     article{
          // Generic Styles
     }

    &.alt article,
    &:not(.alt) article:not(:first-child){

       // More Styles

    }
}