【发布时间】:2023-03-29 17:50:01
【问题描述】:
我对 LESS 编译器中的双 & 行为感到困惑。
看:
.heading {
&&--type-small {
font-size: 15px;
}
}
将被编译为:
.heading.heading--type-small {
font-size: 15px;
}
这很好。
但是。
.wrapper {
.heading {
&&--type-small {
font-size: 15px;
}
}
}
将产生:
.wrapper .heading.wrapper .heading--type-small {
font-size: 15px;
}
看起来很奇怪。没有?
有什么建议可以让这段代码像这样工作:
.wrapper .heading.heading--type-small {
font-size: 15px;
}
谢谢 =)
【问题讨论】:
-
AFAIK,没有办法只插入外部选择器的一部分。
-
&&功能是何时添加到 LESS 中的,它记录在哪里?我没听说过这个。 -
@zzzzBov 不是嵌套规则名称中的第一个字符(以及第二个&符号)的&符号基本上是整个嵌套规则路径的占位符 - 有关更多详细信息,请参阅我的答案。我相信它是在LESS 1.3.1 中引入的,并带有与符号的其他一些功能。记录在"Advanced Usage of &"。
-
@MartinTurjak,我很困惑
&&发生了一些新的事情,我知道使用&,并且没有建立它正在复制选择器的连接。 -
@zzzzBov 是的,实际上-在
&&中,两者具有两个不同的功能...第一个执行“加入”,第二个充当“路径”的占位符(和我同意它使它变得更加混乱,因为它被插入到选择器的其余部分之前 =)。我现在措辞得很好,以至于我必须将其添加到我的答案中;-)