在less中 calc(100% -4rem) 等带单位混合运算会被less解析忽略单位,全部按照百分比计算,此例中的计算被less编译成calc(96%)。 原因分析 less的计算方式跟calc方法有重叠,两者在一起有冲突 解决方案 width:e("calc(100% - 4rem)"); width:calc(~"100% - 4rem");