我遇到了使用基于变量的@if语句生成正确代码的问题。使用变量名的SASS @if语句
SASS
=band($name, $color)
.band-#{$name}
background-color: #{$color}
@if $name == white
font-size: 100px
@else
font-size: 20px
+band('white', $white)
+band('black', $black)
产生
.band-white{background-color:white; font-size:100px;}
.band-black{background-color:black; font-size:50px;}
这是一个完全不同的结局是什么@brad正在努力实现。 –
@PatrikAffentranger是的,也许我应该问过通过冗余参数背后的推理。然而,结果(编译后的CSS)正是OP之后的一个不太冗长的庄园。所以我不认为投票是有必要的。 – LWilson
IMO,结果是不同的,因为@brad希望能够根据第一个参数自动生成类名。将它们写出来然后使用mixin仅用于'background-color'就不同了。 –