在Sass中为CSS属性使用变量

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

有没有一种方法可以将属性名称作为参数传递给mixin?

@mixin w_fluid($property_name, $w_element,$w_parent:16) {
    $property_name: percentage(($w_element/$w_parent));
}
西里村村2020/03/23 14:31:09

除了@rcorbellini回应

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

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

    margin-#{$direction}: 10px;

}
宝儿理查德2020/03/23 14:31:09

您需要在变量上使用插值(例如#{$var}),以便Sass将其视为CSS属性。没有它,您将仅执行变量分配。

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