这就是我想要的:
从这样的事情开始(这段代码不起作用,它会抛出错误):
.ia-loading {
select.& {
border: 2px solid blue;
}
input.& {
border: 2px solid orange;
}
}
获取此信息:
select.ia-loading { border: 2px solid blue; }
input.ia-loading { border: 2px solid orange; }
我尝试了几种组合,其中没有一种有效:
这一个:
.ia-loading {
select & {
border: 2px solid blue;
}
input & {
border: 2px solid orange;
}
}
生成这个css,这不是我想要的:
select .ia-loading { border: 2px solid blue; }
input .ia-loading { border: 2px solid orange; }
这一个:
.ia-loading {
select& {
border: 2px solid blue;
}
input& {
border: 2px solid orange;
}
}
抛出此错误:
"&" may only be used at the beginning of a compound selector.
非常感谢提前。
答案 0 :(得分:1)
你可以像这样制作小型混音:
@mixin test($elem) {
#{$elem}.test {
@content;
}
}
如果你真的想在课堂上使用它,你可以使用@at-root
指令,因为Sass 3.3(否则你只是把它放在你的主类之外)
.test {
margin: 20px;
@at-root {
@include test(select) {
border: 1px solid red;
}
@include test(input) {
border: 1px solid blue;
}
}
}
答案 1 :(得分:0)
您使用'&'的原因是什么?输入和选择背后? 它仅用于您想要特定的"动作"像悬停,活跃等。
实施例
.ia-loading
&:hover
color: #FFF
同样在Sass中,您不能使用scss中使用的括号
我也不认为你可以按照你想要的方式去做。它应该这样做:
.ia-loading
border: 2px solid
select
.ia-loading
border-color: blue
input
.ia-loading
border-color: orange