我将举一个我想做的事的例子。
:all() {
&,
&:link,
&:visited,
&:active,
&:focus
}
上面是“自定义选择器”的一种构想,该自定义选择器本身将返回锚标记的所有伪类的选择,即:hover。
我想像这样使用它作为选择器:
.menu {
a.top-level:all, span {
color: @dormant-grey;
}
a.top-level:hover {
color: @off-black;
}
}
并生成:
.menu a.top-level,
.menu a.top-level:link,
.menu a.top-level:visited,
.menu a.top-level:active,
.menu a.top-level:focus,
.menu span {
color: #686868;
}
.menu a.top-level:hover {
color: #22282a;
}
所以我希望我能清楚地传达出问题所在。有重用选择的方法吗?
请注意,这不同于将样式传递到mixin中。若要将样式传递到mixin中以实现相同的目的,则需要重复样式。一次进入mixin,然后再次进入mixin无法处理的所有其他选择。这也是我现在正在做的事情,我发现使用mixin是不值得的,因为我不得不重复自己很多次,以至于我只想把它抽出来。
所以我希望这很清楚。我在问是否有一种方法可以重用选择内容,而不是样式。如果做不到的话,有没有一种语言可以做到?
(因此,不要留下这个没有答案的地方-在上面复制我的评论):
.all(@-) {
&,
&:link,
&:visited,
&:active,
&:focus {
@-();
}
}
.menu {
.span {
color: red;
}
a.top-level {
.all({.span});
:hover {
color: blue;
}
}
}
显然,这会为.span
和a.top-level
家庭产生重复的样式,但是只要您关心并生成一个缩小的CSS版本--clean-css --clean-option=--advanced
选项,就会用爱消除重复的样式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句