Less 中的 Calc 计算为何变成固定百分比?
问题:less 中的 calc 计算异常,结果为何变成固定百分比?
在进行 CSS 样式开发时,使用 Less 预处理器遇到一个问题。在一个正式环境和测试环境中使用了以下 Less 代码:
.element { width: calc((100% - 40px) / 4); }
然而,在测试环境中,calc 计算后的值意外地变成了固定的 15%。
解答:
在 Less 中,涉及不同单位混合运算的 calc 表达式会遇到一个特殊情况。具体来说,在 Less 中,calc(100% - 40px) 这样的带有单位混合的运算会被 Less 解析忽略单位,全部按照百分比计算。因此,上述表达式的计算被解析为 calc(60% / 4) = calc(15%)。
要解决此问题,有两种正确的方法:
-
使用单位符号:
.element { width: calc((~"100% - 40px") / 4); }
-
定义变量并使用变量:
@myHeight: 30px; .element { width: calc((~"100% - @{myHeight}") / 4); }
通过以上方法,可以确保 Less 正确解析单位,并获得预期的计算结果。
以上就是Less 中的 Calc 计算为何变成固定百分比?的详细内容,更多请关注其它相关文章!