有没有一种方法来使用〜运算符中的variables,比如〜“calc(100% – @spacing)”;

有没有办法使用更less的运算符中的variables,如

 ~"calc(70% - @spacing)"; 

当我尝试过它只能像静态值一样工作

  ~"calc(70% - 10px)"; 

我可以在beeing之前将string评估为属性吗?

要禁用LESS在发现两个数值之间但仍然可以使用variables时自动执行的计算,可以编写下列其中一项:

1)只能逃避触发计算的操作符,并像通常那样使用variables

 @padding: 20px; body { padding: calc(100% ~"-" @padding); } 

2)转义整个expression式并用@{padding}表示法插入variables

 @padding: 20px; body { padding: ~"calc(100% - @{padding})"; } 

我更喜欢第二个版本,因为它类似于JavaScript的模板字面值 ,看起来更干净,但任何一种方式都可以。

这两个解决scheme禁用自动更less的计算,并编译为正确的结果:

 body { padding: calc(100% - 20px); }