问题

在less中 calc(100% - 6rem) 等带单位混合运算会被less解析后忽略被运算的rem等单位,全部按照百分比计算,此例中的计算被less编译成calc(94%)。

原因

less的解析方式跟calc方法有重叠,两者在一起有冲突

解决方案

1
width: e("calc(100% - 6rem)");

或者

1
width: calc(~"100% - 6rem");