CSS 的 clamp() 函数是一个强大的工具,用于创建响应式且范围可控的动态值。它结合了min() 和max() 的逻辑,允许你定义一个值在最小值和最大值之间动态调整。
语法为:
clamp(最小值, 首选值, 最大值);
工作原理:
当 首选值 在 最小值 和 最大值 之间时,直接使用 首选值。
当 首选值 小于 最小值 时,使用 最小值。
当 首选值 大于 最大值 时,使用 最大值。
使用场景:
1. 响应式字体大小
css
.element {
font-size: clamp(1rem, 2.5vw, 1.5rem);
}
- 最小值 :
1rem(小屏幕) - 首选值 :
2.5vw(随视口宽度变化) - 最大值 :
1.5rem(大屏幕)
效果:字体大小在 1rem 到 1.5rem 之间动态调整,避免过大或过小。
2. 动态容器宽度
css
.container {
width: clamp(300px, 50%, 800px);
}
- 最小值 :
300px - 首选值 :
50%(父容器宽度的 50%) - 最大值 :
800px
效果:容器宽度在 300px 到 800px 之间自适应,中间按父容器宽度 50% 调整。
3. 间距控制
css
.padding {
padding: clamp(10px, 2vh, 30px);
}
- 间距随视口高度(
vh)变化,但始终在10px到30px之间。
4.更精细的控制
css
.element {
font-size: clamp(1rem, calc(1rem + 1vw), 1.5rem);
}
可以结合 calc()函数。
calc的使用方法:css 的 calc() 值如何使用