ZH
我的工具

CSS clamp 计算器(流式排版)

把最小和最大尺寸转换为在两个视口宽度之间平滑变化的 CSS clamp() 值,支持 rem 和 px,附尺寸对照表和 WCAG 缩放检查。

宽度小于或等于该值时使用最小尺寸。
宽度大于或等于该值时使用最大尺寸。
浏览器默认值为 16 px。
每行一个:名称,然后是上面单位下的最小尺寸和最大尺寸。使用相同的视口范围。
CSS
font-size: clamp(1rem, 0.8333rem + 0.8333vw, 1.5rem);
首选值
0.8333rem + 0.8333vw
clamp() 中间的流式部分
视口每增加 100 px 的增量
0.833 px
缩放检查(WCAG 1.4.4)
正常——最大尺寸是最小尺寸的 1.5 倍(不超过 2.5 倍)

vw 是视口宽度的 1%,所以 0.8333vw 在宽度每增加 100 px 时增长 0.8333 px。rem 值遵循用户的浏览器字号设置,而 vw 部分不会。

浏览器缩放会放大 px 和 rem,但不会放大 vw,所以最小与最大尺寸相差过大时,文字可能无法放大到 200%。

常见视口宽度下的计算尺寸
视口宽度(px)尺寸(px)尺寸(rem)
320161
37516.461.0286
76819.731.2333
1,02421.871.3667
1,280241.5
1,440241.5
1,920241.5
我的工具 →
广告

CSS 的 clamp(最小值, 首选值, 最大值) 能让尺寸随屏幕宽度平滑增长,并在最小值和最大值处停住,无需媒体查询。难点在于中间的值:它由 rem 和 vw 混合而成,必须在某个视口宽度下恰好等于最小尺寸,在另一个宽度下恰好等于最大尺寸。这个计算器根据这四个数字算出该值,显示常见屏幕宽度下得到的尺寸,并检查 vw 单位带来的 WCAG 文字缩放问题。

使用方法

  1. 输入最小和最大尺寸,并选择单位是 px 还是 rem。
  2. 输入每个尺寸适用的视口宽度。
  3. 选择结果使用 rem(推荐)还是 px,并填写属性名。
  4. 复制这行 CSS;在“更多尺寸”中添加更多行,可得到一组 CSS 变量。

计算公式

slope = (max − min) ÷ (vw₁ − vw₀) · intercept = min − slope × vw₀ · clamp(min, intercept + slope × 100vw, max)

尺寸先换算成 px(rem × 根字号),截距再换回 rem 作为结果。在两个宽度之间,尺寸沿直线变化;超出这个范围,clamp() 保持最小值或最大值。

示例

从 320 px 时的 16 px 到 1280 px 时的 24 px:斜率 = 8 ÷ 960 = 0.008333,所以 vw 部分是 0.8333vw;截距 = 16 − 0.008333 × 320 = 13.33 px = 0.8333rem。结果是 clamp(1rem, 0.8333rem + 0.8333vw, 1.5rem)。在 768 px 的平板宽度下,得到 13.33 + 6.4 = 19.73 px。

常见问题

clamp() 该用 rem 还是 px?

最小值、最大值和截距请用 rem,这样文字仍会遵循读者浏览器的字号设置;只有 vw 部分会忽略该设置。

流式排版符合无障碍要求吗?

它可能不符合 WCAG 1.4.4(文字可放大到 200%),因为浏览器缩放不会放大 vw。一条被广泛引用的经验法则是:最大尺寸不超过最小尺寸的 2.5 倍,这样缩放后文字仍能翻倍。

间距也可以用 clamp() 吗?

可以——padding、margin、gap 和宽度都接受 clamp()。把间距比例中的每一级放进“更多尺寸”,就能得到对应的 CSS 变量。

资料来源

最后更新:

引用此工具
APA

kakaoCalc. (2026, November 8). CSS clamp 计算器(流式排版). https://kakao.mobile/zh/tools/css-clamp-generator/

MLA

“CSS clamp 计算器(流式排版).” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/css-clamp-generator/.

广告