我有一个mixin设置来进行跨浏览器计算,
@mixin calc($property, $expression...) {
#{$property}: -moz-calc(#{$expression});
#{$property}: -o-calc(#{$expression});
#{$property}: -webkit-calc(#{$expression});
#{$property}: calc(#{$expression});
}
Run Code Online (Sandbox Code Playgroud)
我也有一个变量.
$line: 12px;
Run Code Online (Sandbox Code Playgroud)
我希望能够在其中使用变量.
@include calc(width, "30% - ( $line * 2) ) ");
Run Code Online (Sandbox Code Playgroud)
但我不确定这是不是最好的方法.
cim*_*non 26
您需要对传递给mixin的值使用字符串插值:
.foo {
@include calc(width, #{"30% - #{$line * 2}"});
}
Run Code Online (Sandbox Code Playgroud)
输出:
.foo {
width: -moz-calc(30% - 24px);
width: -o-calc(30% - 24px);
width: -webkit-calc(30% - 24px);
width: calc(30% - 24px);
}
Run Code Online (Sandbox Code Playgroud)