2013-03-08 70 views
13

我正在寫一個@mixin,裏面有一些數學計算元素的百分比寬度,但由於它非常有用,我想爲其他屬性使用相同的函數,比如利潤和填充。在Sass中使用CSS屬性的變量

有沒有辦法將屬性名稱作爲參數傳遞給mixin?

@mixin w_fluid($property_name, $w_element,$w_parent:16) { 
    $property_name: percentage(($w_element/$w_parent)); 
} 

回答

27

您需要在您的變量使用interpolation(如:#{$var}),以便薩斯把它當作一個CSS屬性。沒有它,你只是在執行變量賦值。

@mixin w_fluid($property_name, $w_element, $w_parent:16) { 
    #{$property_name}: percentage(($w_element/$w_parent)); 
} 
+1

謝謝rcorbellini,我引用了在錯誤的方式聲明塊屬性名稱。好的是:#{$ property_name}。古拉爵! – 2013-03-08 11:35:57

+0

cool:D 如果這裏的答案對您有幫助,您可能需要將其標記爲「已接受」。 – rcorbellini 2013-03-08 11:37:58

5

除了@rcorbellini響應

您可以使用字符串和可變一起

@mixin margin($direction) { // element spacing 

    margin-#{$direction}: 10px; 

}