我正在尝试使用mixin设置一堆背景颜色。如果将类分配给链接元素,我还想将悬停样式应用于这些背景颜色:
@mixin bg-color($color) {
background-color: $color;
&[ifthisisalink] {
&:hover {
background-color: darken($color, 10%);
}
}
}
.bg-blue {
@include bg-color(blue);
}
因此,如果我们在普通div上有.bg-blue
,则没有悬停颜色。但如果链接上有.bg-blue
,则会有悬停颜色:
<div class="bg-blue">Hover on me and nothing happens.</div>
<a href="#" class="bg-blue">Hover on me and I go darker.</a>
这是否可以在SASS中使用?
答案 0 :(得分:1)
您需要@at-root
:
@mixin bg-color($color) {
background-color: $color;
@at-root {
a#{&} {
&:hover {
background-color: darken($color, 10%);
}
}
}
}
.bg-blue {
@include bg-color(blue);
}