2016-01-20 82 views
1

我的目標是通過數組創建一組mixin。 我的想法是申請代碼如下:手寫筆通過循環創建mixins

f_colors = (f1 f2 f3 f4 f5) 
for $i in 0..length(f_colors) 
    v = f_colors[$i] 
    num = $i+1 

    f{num}cl() 
     color v 

    f{num}bg() 
     background-color: v 

// and use to generate css 
body 
    h1 
     color: white 
     f5bg '' 

其中f_colors我已經存儲在顏色列表。 隨着THI例如,我會得到一個輸出

body h1 { 
    background-color: #00f; // f5 color 
    color: white; 
} 

是有可能,還是我最好的可能是使用混入如下:

fbg(num) 
    background-color: f_colors[num-1] 

fcl(num) 
    color: f_colors[num-1] 

感謝您的閱讀。

回答

1

你必須訴諸使用define BIF:

$colors = (f1 f2 f3 f4 f5) 
for $c, $i in $colors 
    define("f"+($i + 1)+"bg", @() { 
    background-color: $c 
    }) 

// and use to generate css 
body 
    h1 
    color: white 
    f5bg '' 
+0

作品完美,偉大的! –