Less 中 calc() 函数为什么不能混合单位计算?

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%)。

解决方案:

有两种解决方法:

  1. 使用波浪号(~)指定变量,如calc((~"100% - 40px") / 4)。波浪号告诉less将变量解析为值,而不是单位。
  2. 定义一个变量来存储单位,如@myHeight: 30px,然后使用calc((~"100% - @{myHeight}") / 4)。

以上就是Less 中 calc() 函数为什么不能混合单位计算?的详细内容,更多请关注其它相关文章!