Я пишу миксин следующим образом:
@mixin box-shadow($top, $left, $blur, $color, $inset:"") {
-webkit-box-shadow: $top $left $blur $color $inset;
-moz-box-shadow: $top $left $blur $color $inset;
box-shadow: $top $left $blur $color $inset;
}
Когда меня вызывают, я действительно хочу, чтобы, если значение $ inset
не было передано, ничего не выводилось, а не компилировалось в нечто вроде this:
-webkit-box-shadow: 2px 2px 5px #555555 "";
-moz-box-shadow: 2px 2px 5px #555555 "";
box-shadow: 2px 2px 5px #555555 "";
Как переписать миксин, чтобы при отсутствии значения $ inset
ничего не выводилось?
Sass поддерживает операторы @if
. (См. Документацию .)
Вы можете написать свой миксин следующим образом:
@mixin box-shadow($top, $left, $blur, $color, $inset:"") {
@if $inset != "" {
-webkit-box-shadow:$top $left $blur $color $inset;
-moz-box-shadow:$top $left $blur $color $inset;
box-shadow:$top $left $blur $color $inset;
}
}