Less 中的 Calc 问题

Problems with Calc in Less

我尝试定义一个变量来获取动态高度并对其进行一些操作;但是代码编译失败。我该如何处理这个问题?谢谢

"less": "3.9.0",

@block-height: calc(~"(100vh - 110px) / 3");
.block1{
  height: @block-height - 100
}
.block2{
  height: @block-height * 2
}

您可能需要将 calc 从您的变量移动到您正在使用它的地方,并对运算符进行转义。使用https://lesstester.com/做个快速测试,下面少了源码

@block-height: ~"(100vh - 110px) / 3"; 

.block1{ height: calc( @block-height ~"-" 100 ); } 
.block2{ height: calc( @block-height ~"*" 2); }

解析后变成这样

.block1 {
    height: calc((100vh - 110px) / 3 - 100);
}
.block2 {
    height: calc((100vh - 110px) / 3 * 2);
}