2013-05-21 27 views
0

我正在創建一個mixin以根據Ultimate CSS Gradient Generator生成CSS背景漸變。帶有參數插值的SCSS mixin不起作用

的混入看起來是這樣的:

@mixin gradient-2-colors($color-1, $color-1-pos, $color-2, $color-2-pos) { 
    background: -moz-linear-gradient(top, $color-1 $color-1-pos, $color-2 $color-2-pos); 
    ... [OTHER BROWSER-SPECIFIC ENTRIES]... 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$color-1', endColorstr=\'$color-2\',GradientType=0); 
} 

最後一項是給我的麻煩,因爲在startColorstr='$color-1'$color-1沒有被解析爲一個變量!我怎樣才能轉義mixin的這個組件來使引號內的變量工作?

+0

'濾波器:的progid:DXImageTransform.Microsoft.gradient(startColorstr = $ COLOR1,endColorstr = $ COLOR2,GradientType = 0);'不工作要麼...:< –

+1

如果您使用指南針,您將節省很多頭痛。它帶有很多mixins,用於[gradient](http://compass-style.org/reference/compass/css3/images/)。 – bookcasey

+0

@bookcasey:我正在使用Compass ...會看一看。謝謝。 –

回答

1

使用interpolation

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$color-1}', endColorstr=\'#{$color-2}\',GradientType=0); 
+0

真理,這是有效的,Gracias。不知道我錯過了什麼在文檔中。 –