CSS calc函数中的嵌套表达式

sup*_*r.t 1 css css3 css-calc

为什么这样calc(100vw/4)做有效,但以下两个都不起作用?

  1. calc(100vw/4-(10-4))
  2. calc(100vw/4-(10px-4))
  3. calc(100vw/4-(10px-4px))
  4. calc(100vw/4-calc(10px-4px))

如何管理在SASS循环calc(100vw/x-(10px-x))x被替换的表达式起作用?

Tem*_*fif 5

您需要在运算符之间添加空格,这是忘记它们的常见错误。我们也可以使用任意数量的嵌套操作calc,但它们等效于简单的括号。

文档中

注意+-运算符必须被空格包围。例如,calc(50% -8px)将被解析为百分比,后跟负数长度(无效的表达式),而被解析为百分比后跟calc(50% - 8px)减法运算符和长度。同样, calc(8px + -50%)被视为长度,后跟加法运算符和负百分比。

*/运营商不需要空白,但增加它的一致性允许和建议。

注意:允许嵌套calc()函数,在这种情况下,内部函数被视为简单的括号。

.one {
  background: red;
  width: calc(100% - 150px);
  margin-top: calc(20px + calc(40px * 2)); /*Same as calc(20px + (40px * 2))*/
  height: calc(100px - 10px);
  padding: calc(5% + 10px) calc(5% - 5px);
}
Run Code Online (Sandbox Code Playgroud)
<div class="one">

</div>
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明