我有一些使用指南针阴影混合的元素。由于参数是相同的,我希望将它们放在变量中。我认为这是variable arguments的用途,但显然我做错了,因为以下不起作用:
// my shadow style
$shadow: #000000, 0px, 0px, 20px;
.list {
@include single-box-shadow($shadow...);
}
这应该与
相同.list {
@include single-box-shadow(#000000, 0px, 0px, 20px);
}
但是第二个例子有效,第一个例子正在编译为
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
我在这里做错了什么?
指南针版本为0.12.2,SASS为3.2.3。
编辑:我正在与自耕农进行编译,也许它使用了不同的(较旧的)版本?我该怎么检查?
答案 0 :(得分:0)
single-box-shadow
mixin不使用变量参数(参见:http://compass-style.org/reference/compass/css3/box_shadow/#mixin-single-box-shadow)。
当您使用变量调用mixin时,您实际上在做的是:
@include single-box-shadow((#000000, 0px, 0px, 20px));
整个列表作为mixin的第一个参数传递:$color
。如果要重用特定的box-shadow值,请将box-shadow
mixin与空格分隔列表一起使用,或者创建自己的自定义box-shadow mixin。