首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么calc()函数不能工作?

为什么calc()函数不能工作?
EN

Stack Overflow用户
提问于 2017-10-25 11:31:00
回答 1查看 3.4K关注 0票数 4

为什么这个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))

如何管理表达式calc(100vw/x-(10px-x)),在SASS循环中替换x来工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-25 12:03:51

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

来自文档

Note+-运算符必须被空格包围。例如,calc(50% -8px)将被解析为一个百分比,后面跟着一个负长度--一个无效的表达式--而calc(50% - 8px)是一个百分比,后面是一个减法运算符和一个长度。同样,calc(8px + -50%)被看作是一个长度,后面是一个加法运算符和一个负百分比。 */运算符不需要空格,但是为了一致性而添加它是允许的,也是推荐的。 Note:允许嵌套calc()函数,在这种情况下,内部函数被视为简单括号。

代码语言:javascript
运行
复制
.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);
}
代码语言:javascript
运行
复制
<div class="one">

</div>

处理max()min()clamp()时的逻辑相同,因为它们接受与calc()相同的参数

相关:为什么min() (或max())不适用于无单位的0?

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46931291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档