less中混合运算单位丢失导致计算结果不符
在less中,使用calc()方法计算时,如果不同单位的混合运算,less会忽略单位,全部按照百分比进行计算。
问题:
我们在less中使用公式calc((100% - 40px) / 4)来计算值,却发现计算结果变成了calc(15%)。然而在正式环境中,这个公式正常工作。
答案:
在测试环境中,less遇到了单位混合运算,即百分比和像素的混合。less解析时会忽略单位,全部按照百分比计算,导致calc((100% - 40px) / 4)被解析为calc(60%/4) = calc(15%)。而正式环境中,less版本可能不同,或者其他环境设置导致了不同的解析行为。
要解决这个问题,有两种方法:一是使用单位引号,如calc((~"100% - 40px") / 4);二是将像素值定义为less变量,如@myHeight: 30px,然后计算公式为calc((~"100% - @{myHeight}") / 4)。这样,less就不会忽略单位,并正确进行计算。
以上就是Less中混合运算单位丢失导致计算结果不符,该怎么解决?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com