Less 中 calc() 函数为什么不能混合单位计算?
less中calc()为什么不能混合单位计算
在less中,使用calc((100% - 40px) / 4)进行混合单位运算会出现异常,结果会被解析为calc(15%)。
原因:
less在解析calc()时会忽略单位,将所有运算符都按照百分比计算。因此,(100% - 40px)会被解析为(100% - 40/100%),即(100% - 40%) = 60%。而60% / 4 = 15%,所以结果为calc(15%)。
解决方案:
有两种解决方法:
- 使用波浪号(~)指定变量,如calc((~"100% - 40px") / 4)。波浪号告诉less将变量解析为值,而不是单位。
- 定义一个变量来存储单位,如@myHeight: 30px,然后使用calc((~"100% - @{myHeight}") / 4)。
以上就是Less 中 calc() 函数为什么不能混合单位计算?的详细内容,更多请关注其它相关文章!