我正在写一个这样的mixin:
@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传递任何值,则不会输出任何内容,而不是编译为如下内容:
$inset
-webkit-box-shadow: 2px 2px 5px #555555 ""; -moz-box-shadow: 2px 2px 5px #555555 ""; box-shadow: 2px 2px 5px #555555 "";
如何重写 mixin,以便如果没有$inset传递的值,则不输出任何内容?
而且,通常,删除引号的巧妙技巧。
@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}; }
unquote()
@mixin box-shadow($top, $left, $blur, $color, $inset:"") { -webkit-box-shadow: $top $left $blur $color unquote($inset); -moz-box-shadow: $top $left $blur $color unquote($inset); box-shadow: $top $left $blur $color unquote($inset); }