主题
数学函数
calc()
允许在声明 CSS 属性值时执行一些计算
加减乘除
- 加减法两边的操作数都是需要单位的,乘除法需要一个无单位数,表示倍率
- 加减号两边必须有空白字符,乘除号两个不需要有空白字符,但考虑到统一性,还是推荐加上空白字符
css
{
width: calc(1rem + 10px);
height: clac(100px / 2);
}
嵌套
calc() 函数是可以嵌套使用的
css
{
width: calc(100vw - calc(100% - 64px));
}
内部的 calc() 函数可以退化写成一个括号即可 ()
css
{
width: calc(100vw - (100% - 64px));
}
支持不同单位的混合计算
- px
- %
- em
- rem
- in
- mm
- cm
- pt
- pc
- ex
- ch
- vh
- vw
- vmin
- vmax
可搭配 css3 变量使用
min()、max()、clamp()
- max():从一个逗号分隔的表达式列表中选择最大(正方向)的值作为属性的值
- min():从一个逗号分隔的表达式列表中选择最小的值作为属性的值
- clamp():把一个值限制在一个上限和下限之间,当这个值超过最小值和最大值的范围时,在最小值和最大值之间选择一个值使用,它接收三个参数:最小值、首选值、最大值
min、max
希望一个块,随屏幕变宽而变宽,但宽度至少有 500px
css
{
width: max(100%, 500px)
}
希望一个块,随屏幕变宽而变宽,但宽度至多只有 500px
css
{
width: max(100%, 500px)
}
希望一个块,宽度在 500px ~ 700px 之间随屏幕变宽而变宽
css
{
width: clamp(500px, 100%, 700px)
}