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

Chr*_*ris 3 css sass

我有一个包含文章的公共元素,并且希望以不同方式对待除第一个子元素之外的所有子元素,如下所示:

.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)

我怎样才能结合这两个规则而不重复一切?

Chr*_*ris 6

好吧,我想我已经用 Sass 弄清楚了:

.listing{

     article{
          // Generic Styles
     }

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

       // More Styles

    }
}
Run Code Online (Sandbox Code Playgroud)

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