You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SCSS的.top嵌套结构中编写多类复合选择器样式?

问题描述

现有如下SCSS代码:

.top {
    background-color: red;

    &--checked {
        background-color: yellow;
    }

    &--completed {
        background-color: green;
    }
}

该代码可正确编译为对应的CSS规则。现在需要在.top的嵌套规则中,添加针对同时拥有.top--checked和.top--completed类的元素的样式,预期生成如下CSS规则:

.top--checked.top--completed {
    background-color: blue;
}

尝试链式使用&符号未得到预期效果,求实现方法。

解决方案

在.top的嵌套块中直接添加如下代码即可:

&--checked&--completed {
    background-color: blue;
}

完整的SCSS代码如下:

.top {
    background-color: red;

    &--checked {
        background-color: yellow;
    }

    &--completed {
        background-color: green;
    }

    &--checked&--completed {
        background-color: blue;
    }
}

原理说明

&在SCSS中代表当前父选择器的完整内容(这里就是.top),所以:

  • &--checked会被编译为.top--checked
  • &--completed会被编译为.top--completed
  • 将二者直接连写(&--checked&--completed),就会生成两个类选择器的交集选择器.top--checked.top--completed,正好匹配同时拥有这两个类的元素。

内容的提问来源于stack exchange,提问作者Seb Heron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 10:11:34