2013-03-08 71 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; 

}