在Sass中为CSS属性使用变量

在Sass中为CSS属性使用变量,sass,mixins,Sass,Mixins,我正在编写一个@mixin,其中包含一些数学运算,用于计算元素的宽度百分比,但由于它非常有用,我也希望对其他属性使用相同的函数,如边距和填充 有没有办法将属性名作为参数传递给mixin @mixin w_fluid($property_name, $w_element,$w_parent:16) { $property_name: percentage(($w_element/$w_parent)); } 您需要在变量上使用(例如,#{$var}),以便Sass将其视为CSS属性。没有

我正在编写一个@mixin,其中包含一些数学运算,用于计算元素的宽度百分比,但由于它非常有用,我也希望对其他属性使用相同的函数,如边距和填充

有没有办法将属性名作为参数传递给mixin

@mixin w_fluid($property_name, $w_element,$w_parent:16) {
    $property_name: percentage(($w_element/$w_parent));
}
您需要在变量上使用(例如,
#{$var}
),以便Sass将其视为CSS属性。没有它,您只是在执行变量赋值

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

除了@rcorbellini响应之外

可以同时使用字符串和变量

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

    margin-#{$direction}: 10px;

}

感谢rcorbellini,我以错误的方式引用了声明块中的属性名称。好的是:#{$property_name}。格拉齐!