0

对于以下 SASS,当 a 类也有 b 类时,应用的颜色为蓝色。

但是,当 body 元素具有 class-a 时,我希望颜色为红色,但这会导致错误。

.class-a {
    &.class-b {
        color: blue;
    }
    &body {
        color: red;
    }
}
4

1 回答 1

1

目前这是不可能的。

目前,& 在语法上与元素选择器相同,因此它不能与元素选择器一起出现。我认为这有助于澄清它可以在哪里使用;例如, foo&bar 永远不会是一个有效的选择器(或者可能等同于 foo& bar 或 foo &bar)。

有讨论改变这种行为,但要成为 Sass 的一部分可能还有很长的路要走。

与此同时,你真正能做的就是:

.class-a {
    &.class-b {
        color: blue;
    }
}

body.class-a {
    color: red;
}
于 2013-08-13T15:45:17.890 回答