SCSS:mixin中的多框阴影声明

SCSS:mixin中的多框阴影声明,css,sass,mixins,Css,Sass,Mixins,我有一个下面的混合框阴影: @mixin box-shadow($horizontal, $vertical, $blur, $spread, $r, $g, $b, $a, $inset:"") { -webkit-box-shadow: $horizontal $vertical $blur $spread rgba($r, $g, $b, $a) unquote($inset); box-shadow: $horizontal $vertical $blur $spread

我有一个下面的混合框阴影:

@mixin box-shadow($horizontal, $vertical, $blur, $spread, $r, $g, $b, $a, $inset:"") {
    -webkit-box-shadow: $horizontal $vertical $blur $spread rgba($r, $g, $b, $a) unquote($inset);
    box-shadow: $horizontal $vertical $blur $spread rgba($r, $g, $b, $a) unquote($inset);
}
如果我这样使用它,效果很好,例如:

@include box-shadow(0px, 2px, 4px, 0px, 0, 0, 0, 0.4)
-webkit-box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.4), 0px 0px 6px 2px rgba(255,255,255,0.5) inset;
但是我怎样才能把两个阴影连起来呢

最终,我想要一个这样的CSS,例如:

@include box-shadow(0px, 2px, 4px, 0px, 0, 0, 0, 0.4)
-webkit-box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.4), 0px 0px 6px 2px rgba(255,255,255,0.5) inset;
我使用以下代码进行了尝试:

@include box-shadow(0px, 2px, 4px, 0px, 0, 0, 0, 0.4), box-shadow(0px, 0px, 6px, 2px, 255, 255, 255, 0.5, inset);

但那没用。那么,这是可能的吗?

是的,这是可能的。请参阅下面的文章以获得更好的解释
一个简单的解决方案是将mixin更改为使用可变参数。 像这样的

@mixin box-shadow($params...) {
  -webkit-box-shadow: $params;
  -moz-box-shadow: $params;
  box-shadow: $params;
}
这将允许您在参数中使用逗号

你可以这样使用mixin:

@include box-shadow(0px 2px 4px 0px rgba(0, 0, 0, 0.4), 0px 0px 6px 2px rgba(255,255,255,0.5)) ;