【问题标题】:LESS calc function converts px to em during addition [duplicate]LESS calc 函数在添加过程中将 px 转换为 em [重复]
【发布时间】:2018-06-23 11:52:59
【问题描述】:

我正在尝试使用 CSS calc 函数来计算我网页上不同单位的大小。

我有一些以em 表示的元素高度。我想给它添加一些像素。

calc(3em + 10px)

令人惊讶的是,LESS 生成的结果 CSS 是 calc(13em)。为什么?

【问题讨论】:

  • 添加完整代码,因为em是一个相对单位,所以我们需要查看所有的CSS
  • calc 应该与空格一起使用...你应该写calc(3em + 10px)
  • 就是这样@TemaniAfif。谢谢!
  • @FacundoCorradini 这是因为您必须考虑所有答案、cmets 以及页面右侧链接的所有问题;)即使问题太旧,我们也一定会找到一个提示/线索。重复的目的不是提供处理完全相同情况的确切问题,而是提供处理相同问题的问题,然后由您进行更多调查。

标签: css less calc


【解决方案1】:

这是你的 LESS 积极地将 calc 编译成一个固定值,而它应该按原样输出 CSS calc,并让浏览器在运行时进行数学运算。

至于为什么它返回 13em,这几乎就是 javascript 中 10 + '20' 返回一个值为 1020 的字符串的方式。

您需要打开 strictMaths,并在您希望实际编译该值时使用额外的(“不必要的”)括号。

阅读有关strictMaths in Less 的文档。

【讨论】:

  • 有什么办法可以减少 LESS 的攻击性吗?
  • 是的,我认为这是将-sm=on(严格数学)添加到您的编译器命令的问题。 $ lessc -sm=on styles.less styles.css,然后在您真正希望它编译一个值时在您的 .less 文件中使用方括号。但是自从我切换到 SASS 和/或 postCSS 已经有一段时间了,所以我可能完全关闭了:p
猜你喜欢
  • 1970-01-01
  • 2019-07-21
  • 2015-09-23
  • 2018-11-23
  • 1970-01-01
  • 1970-01-01
  • 2012-05-14
  • 2016-07-01
  • 2011-03-20
相关资源
最近更新 更多