我知道标题不是很具描述性,所以我将展示我需要的行为的一个示例:
输入
@mixin superScopeMixin {
/* ... */
}
.one {
superScopeMixin {
.two {
.three {
/* ... */
}
}
}
}
输出
.one.two .three,
.one .two .three {
/* ... */
}
我希望选择器的前面都带有“空格”和“没有空格”。这可能吗?我可以使用Less,Sass或Stylus。谢谢!
如果我正确理解了您的问题,则可以这样设置mixin:
@mixin superScopeMixin {
&.two, .two {
color: #fff;
.three {
color: purple;
}
}
}
.one {
color: gray;
@include superScopeMixin
}
哪个编译为:
.one {
color: gray;
}
.one.two, .one .two {
color: #fff;
}
.one.two .three, .one .two .three {
color: purple;
}