【发布时间】:2018-11-23 12:05:54
【问题描述】:
我通常使用SCSS,因为这是趋势,也是我更喜欢的。我使用Less 来比较两者。我发现在使用 Less 时确实有些奇怪。
当我将 calc 函数与 SCSS 一起使用时,例如 height: calc(100vh - 64px),它将 100vh 转换为 px,然后减去这两个数字并将其转换回 vh 单位,这正是需要的单位.
另一方面,当使用 Less 做同样的事情时,它会立即将减号后面的数字转换为与前面相同的单位,然后减去这个数字,这很奇怪。因为在前一个例子中计算的高度; 使用较少;应该是 36vh,而 calc(100vh - 64vh) 不是这样。
有人知道在使用 Less 时如何解决这个问题吗?
【问题讨论】:
-
Less v3 根本不涉及
calc语句。这是一个浏览器功能,离线编译器根本无法评估,因为在编译时使用的值可能未知。例如。 “SCSS 将 100vh 转换为 px” - SCSS 怎么知道1vh的像素之前 你甚至将编译后的 CSS 应用到任何页面(即视口的高度基本上是未知的)?如果您使用的是 Less v2 或更低版本,请参阅 stackoverflow.com/questions/11972084/…。 -
@seven-phases-max 我对
calc的追踪让我明白了这一点。如果不是,那它是如何计算的?我想知道我是否错了 -
@seven-phases-max OP 只是对 SCSS 所做的与浏览器所做的区别感到困惑。
-
@seven-phases-max 我正在寻找类似的已回答问题,但找不到。非常感谢您的链接 (Y)。