为了账号安全,请及时绑定邮箱和手机立即绑定

禁用LESS-CSS覆盖calc()

禁用LESS-CSS覆盖calc()

侃侃尔雅 2019-08-30 10:52:24
禁用LESS-CSS覆盖calc()现在我在我的LESS代码中尝试在CSS3中执行此操作:width: calc(100% - 200px);但是,当LESS编译时,它输出:width: calc(-100%);有没有办法告诉LESS不要以这种方式编译并正常输出?
查看完整描述

3 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

使用转义字符串(也称为转义值):


width: ~"calc(100% - 200px)";

此外,如果您需要将Less math与转义字符串混合使用:


width: calc(~"100% - 15rem +" (10px+5px) ~"+ 2em");

编译为:


width: calc(100% - 15rem + 15px + 2em);

这可以在默认情况下使用空格连接值(转义字符串和数学结果)。


查看完整回答
反对 回复 2019-08-30
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

除了使用我的其他答案中描述的转义值之外,还可以通过启用严格数学设置来解决此问题。


通过严格的数学运算,只会处理不必要的括号内的数学,因此您的代码:


width: calc(100% - 200px);

在启用严格数学选项的情况下可以正常工作。


但请注意,严格数学应用于全局,而不仅仅是内部calc()。这意味着,如果你有:


font-size: 12px + 2px;

Less将不再处理数学 - 它将输出font-size: 12px + 2px显然是无效的CSS。您必须包含应由Less in(以前不必要的)括号处理的所有数学:


font-size: (12px + 2px);

在开始一个新项目时,Strict Math是一个很好的选择,否则你可能需要重写代码库的一部分。对于最常见的用例,另一个答案中描述的转义字符串方法更合适。


查看完整回答
反对 回复 2019-08-30
  • 3 回答
  • 0 关注
  • 788 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信