calc() 是CSS 函数允许在声明 CSS 属性值时执行一些计算。
height: calc(100% - 80px);
此 calc() 函数用一个表达式作为它的参数,用这个表达式的结果作为值。这个表达式可以是任何加减乘除操作符的组合,采用标准操作符处理法则的简单表达式。
表达式中的运算对象可以使用任意长度值。如果你愿意,你可以在一个表达式中混用这类值的不同单位。
在需要时,你还可以使用小括号来建立计算顺序。
- **
+和-运算符的两边必须要有空白字符。**比如,calc(50% -8px)会被解析成为一个无效的表达式,解析结果是:一个百分比 后跟一个负数长度值。而加有空白字符的、有效的表达式calc(8px + -50%)会被解析成为:一个长度 后跟一个加号 再跟一个负百分比。 *和/这两个运算符前后不需要空白字符,但如果考虑到统一性,仍然推荐加上空白符。- 用 0 作除数会使 HTML 解析器抛出异常。
- 涉及自动布局和固定布局的表格中的表列、表列组、表行、表行组和表单元格的宽度和高度百分比的数学表达式,
auto可视为已指定。 calc()函数支持嵌套,但支持的方式是:把被嵌套的calc()函数全当成普通的括号。(译者注:所以,函数内直接用括号就好了。)
使用 calc() 可以很容易的为一个对象设置一个左右两边相等的外边距
position: absolute;
left: 40px;
width: calc(100% - 80px)
保证文本的大小会跟随页面一同缩放,当 calc() 被用于控制文本的长度时,确保值中包含一个相对长度单位
font-size: calc(1.5rem + 3vw);