1

我有以下用于 box-shadow 的 mixin:

@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)

但是我怎样才能链接 2 个阴影呢?

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

-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);

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

4

2 回答 2

2

一个简单的解决方案是将您的 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)) ;
于 2016-07-04T13:43:44.740 回答
-1

是的,有可能。请参阅下面的文章以获得更好的解释 http://www.entheosweb.com/tutorials/css/multiple_shadows.asp

于 2016-07-04T13:29:40.087 回答