CSS clamp() 计算器

给小屏和大屏各设一个尺寸,得到一个中间平滑过渡的响应式 clamp() 值——字号、内边距、外边距、间距都能用。

设置
最小值
最大值
clamp() 值
clamp(1rem, 0.8333rem + 0.8333vw, 1.5rem)

结果的中间部分保留了 rem 成分,所以有人放大到 200% 时文字仍会变大——只用视口单位就做不到。

预览

流式文字,大小正好。

调整尺寸和屏幕宽度来生成这个值。

计算全部在你的浏览器里完成,这里输入的内容不会上传到 BroBroGo。

常见问题

clamp() 值是怎么算出来的?

你给两个点:小屏宽度下的一个尺寸,和大屏宽度下的一个尺寸。工具在两点之间画一条直线,屏幕变宽时尺寸就平滑增大,再用 clamp() 把它裹起来,让它既不会小于你的小屏尺寸,也不会大于大屏尺寸。两个宽度之间尺寸流式缩放,超出这个范围就停在最近的那个界限上。

为什么结果用 rem 和 vw,而不是像素?

上下限用 rem,中间会变化的部分也保留了 rem 成分,所以读者放大页面或调高浏览器默认字号时文字仍会跟着变大——只用像素或只用视口单位就可能做不到这一点。你按像素输入是因为大多数人习惯这么想,工具会用你的根字号换算成 rem。

除了字号,能用来做间距吗?

可以。同一个值也能用在内边距、外边距、间距、宽度或高度上——任何需要长度的地方都行。把预览切到「盒子」就能看到间距而不是文字在变大。如果小屏和大屏尺寸一样,结果会退化成一个固定长度,因为没有可缩放的空间。

所有浏览器都支持 clamp() 吗?

支持——自 2020 年起所有主流浏览器都支持 clamp(),可以直接用,不用写回退方案。如果最大值特别大或变化特别快,建议放大到 200% 检查一下,确认需要放大的读者仍能看到文字变大。

什么是 CSS clamp() 计算器及其作用

CSS clamp() 计算器是一款用于生成响应式 CSS clamp() 函数的在线工具。在响应式网页设计中,我们常常需要让某个尺寸在小屏幕和大屏幕之间平滑过渡。通过输入小屏幕和大屏幕分别对应的尺寸,该工具可以自动计算并生成一个 clamp() 函数。

这个生成的函数能够确保目标尺寸在屏幕变宽时流式缩放,但绝不会低于你设定的小屏尺寸(最小值),也不会高于你设定的大屏尺寸(最大值)。该工具生成的 clamp() 值应用场景非常广泛,不仅适用于流式字号,还可以用于内边距、外边距、间距、宽度或高度等各种长度属性。

如何使用此工具进行输入设置

要生成符合需求的 clamp() 值,你需要在“设置”区域提供以下关键数值:

  • 尺寸(小屏):在较小屏幕宽度下的“最小值”。
  • 屏幕宽度(小屏):代表小屏幕的宽度。
  • 尺寸(大屏):在较大屏幕宽度下的“最大值”。
  • 屏幕宽度(大屏):代表大屏幕的宽度。
  • 根字号:用于将输入的像素值转换为 rem 单位的基准数值。

在输入过程中,工具要求在每个字段里填入有效数字。需要特别注意的是,小屏宽度必须是比大屏更小的正数。如果小屏宽度不满足这一条件,工具将无法进行正常计算,此时输出的“clamp() 值”会显示为 ,并触发错误提示:“小屏宽度必须是比大屏更小的正数。”。

输出结果与实时预览说明

当你输入有效的数值后,计算器会实时生成并展示以下内容:

  • clamp() 值:计算得出的 CSS clamp() 函数,例如 clamp(1rem, 0.8333rem + 0.8333vw, 1.5rem)
  • 预览:提供直观的尺寸缩放视觉呈现。你可以将预览模式切换为“文字”(显示“流式文字,大小正好。”)或“盒子”。
  • 预览宽度:实时显示当前预览区域的数值宽度。
  • 状态提示信息:根据输入和当前预览状态,工具会显示不同的状态信息:
    • “调整尺寸和屏幕宽度来生成这个值。”(初始或调整时的引导提示)
    • “反向缩放——屏幕越大,尺寸反而越小。”(当大屏尺寸小于小屏尺寸时触发)
    • “两个尺寸相同,这是固定值,不会流式变化。”(当小屏和大屏尺寸相等时,结果会退化为固定长度)
    • “停在最小值”
    • “停在最大值”
    • “流式缩放中”

响应式设计与无障碍访问规范

在现代网页设计中,使用 remvw 单位来创建可缩放的布局至关重要。本工具在计算时,会利用你提供的“根字号”将输入的像素值自动转换为 rem

生成的 clamp() 值在边界限制上使用 rem,而中间的变化部分也保留了 rem 成分。这种设计有着重要的无障碍访问(Accessibility)考量:它能确保当读者在浏览器中进行页面放大(例如放大到 200%)或调高系统默认字号时,文字依然能够正常变大。如果仅仅使用视口单位(如 vw)或绝对像素单位,则无法保障这一无障碍特性。

隐私保护与数据安全

本工具充分尊重用户的隐私。所有的数值计算全部在你的浏览器里完成,你在此处输入的任何内容和数据都不会上传到 BroBroGo 服务器,请放心使用。

常见问题解答 (FAQ)

clamp() 值是怎么算出来的?

你给两个点:小屏宽度下的一个尺寸,和大屏宽度下的一个尺寸。工具在两点之间画一条直线,屏幕变宽时尺寸就平滑增大,再用 clamp() 把它裹起来,让它既不会小于你的小屏尺寸,也不会大于大屏尺寸。两个宽度之间尺寸流式缩放,超出这个范围就停在最近的那个界限上。

为什么结果用 rem 和 vw,而不是像素?

上下限用 rem,中间会变化的部分也保留了 rem 成分,所以读者放大页面或调高浏览器默认字号时文字仍会跟着变大——只用像素或只用视口单位就可能做不到这一点。你按像素输入是因为大多数人习惯这么想,工具会用你的根字号换算成 rem。

除了字号,能用来做间距吗?

可以。同一个值也能用在内边距、外边距、间距、宽度或高度上——任何需要长度的地方都行。把预览切到「盒子」就能看到间距而不是文字在变大。如果小屏和大屏尺寸一样,结果会退化成一个固定长度,因为没有可缩放的空间。

所有浏览器都支持 clamp() 吗?

支持——自 2020 年起所有主流浏览器都支持 clamp(),可以直接用,不用写回退方案。如果最大值特别大或变化特别快,建议放大到 200% 检查一下,确认需要放大的读者仍能看到文字变大。