CSS 中的 calc() 函数是用于动态计算数值的函数。它可以在 属性的值中执行基本的数学运算,包括加法、减法、乘法和除法,以及使用 CSS 单位进行计算。
calc() 函数的语法如下: calc(expression)
其中 expression 是包含数学运算和 CSS 单位表达式。
下面是一些 calc 函数的用法示例:
-
使用 calc() 进行数值计算: width: calc(100% - 20px); // 计算出宽度为容器宽度减去20像素
-
使用 calc() 进行单位转换: height: calc(50vh - 20px); // 计算高度为视口高度的一半再减去20像素
-
使用 calc() 结合 CSS 单位进行复杂运算: width: calc((100% - 40px) / 3); // 计算出宽度为容器宽度减去40像素的三分之一
-
使用 calc() 结合其他 CSS 属性进行动态计算: padding: calc(10px + 5%); // 计算出内边距为10像素加上父元素宽度的5%
需要注意的是:
- calc() 函数中的表达式可以含数值、操作符(
+、-、*、/
)(操作符与数值必须用空格隔开)和 CSS 单位,但不能直接包含变量或函数。 - calc() 函数支持优先级,可以使用括号来改变运算次序。
- calc() 函数可以嵌套使用,以进行更复杂的计算。
然而,需要注意的是,calc() 函数在某些旧版本的浏览中可能不被完全支持,特别是在 IE 11 及以下版本。为了保证兼容性,可以提供备用样式或考虑使用 JavaScript 进行动态计算。
这是一个从 https://juejin.cn/post/7368640074383556659 下的原始话题分离的讨论话题