clamp(最小值, 首选值, 最大值) 中间那个可以带 vw,于是就有了"随视口线性变化但有上下限"的能力。
1. 标题字号
h1 { font-size: clamp(1.7rem, 1.2rem + 2vw, 2.6rem); }
手机上一行放得下,大屏又不至于太夸张。1.2rem + 2vw 比纯 2vw 更可控,因为基准值把曲线截距抬起来了。
2. 段落行宽
p { max-width: clamp(28rem, 60ch, 40rem); }
混入 ch,行宽上限跟着字号走,换字体也不会突然变成一堵墙。
3. 卡片间距
.grid { gap: clamp(.75rem, 2vw, 1.5rem); }
仍然需要断点的地方
列数变化。clamp() 只能算数值,改不了结构,所以分列仍然交给 minmax() 和断点;能用 auto-fit 的地方尽量用它,一行搞定。