15

我设置了一个 mixin 来进行跨浏览器计算,

@mixin calc($property, $expression...) { 
  #{$property}: -moz-calc(#{$expression}); 
  #{$property}: -o-calc(#{$expression}); 
  #{$property}: -webkit-calc(#{$expression}); 
  #{$property}: calc(#{$expression}); 
} 

我也有一个变量。

$line: 12px;

我希望能够在其中使用一个变量。

@include calc(width, "30% - ( $line * 2) ) ");

但我不确定这是否是最好的方法。

4

1 回答 1

29

您需要对传递给 mixin 的值使用字符串插值:

.foo {
  @include calc(width, #{"30% -  #{$line * 2}"});
}

输出:

.foo {
  width: -moz-calc(30% - 24px);
  width: -o-calc(30% - 24px);
  width: -webkit-calc(30% - 24px);
  width: calc(30% - 24px);
}
于 2013-05-21T02:00:37.433 回答