目标是让最终的CSS看起来像:
.selector {
font: 'Arial';
font-weight: 400;
}
.ie7 .selector {
font-weight: 500;
}
&
选择器引用父选择器,它不能引用全局类。@extend
。Mixins就是答案,但我不知道是否可以访问完整的选择器本身:
.selector {
font: 'Arial';
font-weight: 400;
@include ie7 {
font-weight: 500;
}
}
基本上,我正在寻找为当前选择器树声明前缀选择器的方法。提前谢谢。
答案 0 :(得分:1)
你可以只是&
来执行此操作:
.selector {
font: 'Arial';
font-weight: 400;
.ie7 & {
font-weight: 500;
}
}
只需将.SCSS写为.ie7 &
,Sass就会将其解释为容器:
.selector {
font: 'Arial';
font-weight: 400;
}
.ie7 .selector {
font-weight: 500;
}
答案 1 :(得分:0)
使用@at-root
和&
将解决此问题:
.foo {
.bar {
color: blue;
@at-root .ie7 & {
color: red;
}
}
}
编译为:
.foo .bar {
color: blue;
}
.ie7 .foo .bar {
color: red;
}