CSS 数学函数 clamp()
浏览器会首先尝试使用 PREFERRED 值,如果 PREFERRED 值小于 MIN,则采用 MIN 值,反之,则采用 MAX 值。
clamp(MIN, PREFERRED, MAX)
流体式字体排版
// clamp(最小值,首选值,最大值)
font-size: clamp(1.5rem,5vw,3rem)
-
1.5rem(最小值):在非常窄的屏幕上(如手机),字体大小最小为1.5rem(约24px),保证可读性 -
5vw(首选值):字体大小根据视口宽度进行动态缩放,5vw5%。当用户缩放浏览器窗口时,字体会如丝般顺滑地变大或变小 -
3rem(最大值):在非常宽的屏幕上(如 4K 显示器),字体大小最大为3rem(约48px),保持美观
最终,字体大小会在 24px 到 48px 之间根据屏幕宽度平滑地过渡,不再有断点之间的跳变,这是真正的“流体式”设计!
clamp() 在布局中的应用
例如:一个内容区块的宽度自适应,但又不想它在小屏幕上太窄,或在大屏幕上太宽
.container {
width: clamp(400px,90%,1200px);
margin: 0 auto;
}
- 在小屏幕上,宽度是
90%,但最小不会低于400px - 在超大屏幕上,宽度也是
90%,但最大不会超过1200px