Sass 中不存在变量变量。对于您提供的 mixin,您可以将包含 2 个值的单个列表传递给它,也可以传递 2 个值。
选项1:
$custom : #f20;
@mixin colorbyclass($value) {
&.#{nth($value, 1)} {
background: nth($value, 2);
}
}
.container {
div {
width:20px;
height:20px;
@include colorbyclass(custom $custom);
}
}
选项#2:
$custom : #f20;
@mixin colorbyclass($class, $color) {
&.#{$class} {
background: $color;
}
}
.container {
div {
width:20px;
height:20px;
@include colorbyclass(custom, $custom);
}
}
不过,它们看起来就像根本不使用 mixin 一样冗长:
.container {
div {
width:20px;
height:20px;
&.custom {
background: $custom; // could easily be replaced with a mixin that sets a bg color + other stuff
}
}
}