2013-01-10 67 views
0

我有一些使用指南針影子混合的元素。由於參數是相同的,我想讓它們在一個變量中。我認爲這是什麼variable arguments是,但很明顯,我做錯了什麼,如下不起作用:如何將列表作爲獨立參數傳遞給SASS中的mixin?

// 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。

編輯:我與yeoman編譯,也許它使用不同的(舊)版本?我如何檢查?

+0

這兩個示例對我來說都是一樣的......您使用的是Compass和Sass的哪個版本? – bookcasey

+0

指南針爲0.12.2,Sass爲3.2.3。 – acme

+0

我正在編譯yeoman,不知道這是否有所作爲 - 應該使用系統指南針和sass版本? – acme

回答

0

single-box-shadow mixin不使用可變參數(請參閱:http://compass-style.org/reference/compass/css3/box_shadow/#mixin-single-box-shadow)。

當您使用變量,調用混入什麼你基本上做的是這樣的:

@include single-box-shadow((#000000, 0px, 0px, 20px)); 

完整列表正在傳遞作爲混入的第一個參數:$color。如果要重複使用特定的箱型陰影值,請使用帶有空格分隔列表的box-shadow mixin或創建自己的自定義箱型陰影混合。

+0

謝謝。我該怎麼做?指南針的文件非常糟糕。我嘗試了'$ shadow:$ black 0px 0px 20px;'和'@include box-shadow($ shadow);'這也只是迴應了一個「無」陰影。 – acme

+0

你有沒有嘗試編譯它沒有Yeoman?這對我使用'指南針手錶'編譯得很好。雖然,從版本歷史的角度來看,Yeoman必須有一個*非常*舊的版本,因爲它不應該如此。 – cimmanon

相關問題