css`min()` 、`max()`、 `clamp()`
min()
用来计算多个数值中最小的那个,非常适合做自适应。
width: min(50vw, 500px)
50vw 表示 视口宽度的 50%
500px 表示 500px
min(50vw, 500px)
表示会取两者中 最小的那个 作为最终的宽度,。
使用场景
-
限制某个元素宽度不超过某个值; 响应式布局
width: min(90%, 1200px)
✅当屏幕宽度很大时,保持最大 1200px
✅ 当屏幕较小时,保持 90% 宽度 -
字体大小自适应
font-size: min(8vw, 32px)
小屏幕时,按视口缩小
大屏幕时,最大为32px,避免过大
- 结合其他函数使用
width: min( max(200px, 30%), 600px )
max()先保证 宽度最小不低于200px ,
min() 保证最大不超过600px
width: max(200px, 30%)
表示取 两者中最大的那个,保证宽度不低于200px;
clamp(min, preferred, max)
是 min() 和 max() 的组合,可以更简洁。
min(90%, 1200px) └── 取更小的值 ──> 保证不超过 1200pxmax(300px, 40%) └── 取更大的值 ──> 保证不小于 300pxclamp(16px, 4vw, 32px)└── 当屏幕变宽时字体逐渐变大,但最小 16px,最大 32px
See the Pen css: `min()/max()/clamp()` by liu874396180 (
@liu874396180) on
CodePen.