27

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

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

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

2 回答 2

56

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

@mixin w_fluid($property_name, $w_element, $w_parent:16) {
    #{$property_name}: percentage(($w_element / $w_parent));
}
于 2013-03-08T11:26:54.957 回答
9

除了@rcorbellini 回复

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

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

    margin-#{$direction}: 10px;

}
于 2017-03-20T10:22:08.710 回答