跳到正文
FluidClamp
语言: 简体中文

流式间距计算器:内边距、外边距与间隙

间距和字体一样能从流式尺寸中受益。设置手机和桌面上需要的间距,即可得到可用于 padding、margin 或 gap 的 clamp() 值。

输入单位
输出单位

常用预设

你的 clamp() 值

clamp(1.5rem, 0.6667rem + 4.1667vw, 4rem)

斜率: 4.1667vw · 截距: 0.6667rem

CSS
clamp(1.5rem, 0.6667rem + 4.1667vw, 4rem)
CSS 自定义属性
--fluid-space: clamp(1.5rem, 0.6667rem + 4.1667vw, 4rem);
Tailwind 类名
p-[clamp(1.5rem,0.6667rem_+_4.1667vw,4rem)]

最大值是最小值的 2.67 倍(超过 2.5 倍)。缩放幅度这么大的文字在用户放大页面时可能达不到 200%,请参考 WCAG 1.4.4「调整文字大小」。

各视口下的渲染尺寸
视口尺寸 (px)尺寸 (rem)
320px241.5
375px26.291.6432
768px42.672.6667
1024px53.333.3333
1280px644
1440px644
1920px644

所有设置都保存在网址中,你可以收藏或分享这个结果。

实时预览

视口 1024px 时为 53.33px

流式内边距与间隙

为什么要让间距流式变化

宽松的留白让桌面布局显得从容,但同样 96px 的区块内边距放在手机上会浪费三分之一的屏幕。固定断点只能分段解决这个问题,平板上的间距往往不是太紧就是太松。流式数值连续增长,每块屏幕都能获得与宽度成比例的空间,而你只需写一条声明,而不是三条。

与流式字体相同的数学原理

间距使用的线性公式与字号完全相同:一个最小值、一个最大值,以及两个视口宽度之间的一条直线。区别在于你选择的数值。间距的增长倍数通常比文字更大,例如区块内边距从 24px 增加到 64px 很常见,因为留白不需要保持可读。WCAG 2.5 倍缩放提示不适用于间距,但当你把该值复用到文字上时,它仍会作为提醒显示。

建立间距体系

为了保持一致,可以定义几个流式间距令牌,例如 --space-s、--space-m 和 --space-l,各自设定最小值和最大值。小的用于组件内部的间隙,中等的用于卡片内边距,大的用于页面区块之间。再搭配一套使用相同视口范围的流式字号比例,文字和留白就能同步增长。

在 Tailwind 中,可以用任意值的形式应用结果,例如 p-[clamp(…)]、gap-[clamp(…)] 或 my-[clamp(…)]。计算器会输出用下划线代替空格的现成类名,这正是 Tailwind 在任意值中表示空格的方式。

小贴士

间距同样使用 rem,让它和文字一起遵循用户的字号设置。边框和细线不要使用流式数值,因为小数像素可能导致模糊。在 320px 下查看预览,确认内边距仍为内容留出足够空间。

常见问题

clamp() 可以用于 padding 和 margin 吗?

可以。clamp() 适用于任何 CSS 长度,包括 padding、margin、gap、width、border-radius 和 inset 等。

间距应该用 rem 还是 px?

通常 rem 更好:用户调大默认字号时,间距也会随之增大,文字与留白之间的比例得以保持。

WCAG 2.5 倍提示对间距重要吗?

不重要。该准则针对的是文字缩放。只要内容在小屏幕上仍能容纳,间距可以放心地增长更多。

如何在 Tailwind 中使用这个值?

复制 Tailwind 类名,然后按需修改前缀,例如 p-、px-、gap- 或 space-y-,方括号内的值保持不变。