CSS Clamp() 生成器

设置最小、最大尺寸以及它们适用的视口范围,得到一个在两者之间平滑缩放的流体 clamp() 值。

调整窗口大小,看看我如何缩放

          
        

工作原理

两个(视口,尺寸)坐标点定义出一条直线。它的斜率成为视口宽度系数,截距成为一个固定的 rem 偏移量,两者共同组成 clamp(最小值, 截距 + 斜率*100vw, 最大值)。因为这是真正的 CSS,而不是 JavaScript 的 resize 监听器,浏览器会在每次布局计算时重新求值,不会有滚动卡顿或尺寸闪烁,即使禁用 JavaScript 也照常生效。

所有数值都会按你设置的根字体大小换算为 rem,因此即使用户为了无障碍访问调整了浏览器的基础字号,结果依然能正确缩放。这个工具不会读取你的页面,它只根据你输入的数字计算公式。

常见问题

clamp() 到底是做什么的?

clamp(最小值, 首选值, 最大值) 会取中间那个值,但会将其限制在不低于最小值、也不高于最大值的范围内。这里的“首选值”是视口宽度的线性函数,所以结果会随屏幕大小平滑增长,直到触及任一边界后就保持不变。

为什么用它而不是媒体查询?

媒体查询会在特定断点处在固定尺寸之间跳变,看起来可能会有明显的“突变感”。clamp() 会随视口连续缩放,因此文字和间距在拖动窗口大小时会平滑变化,也不需要维护断点。

这些内容会被发送到别的地方吗?

不会,公式和预览完全在你的浏览器中计算完成,不会上传任何内容。