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