分类: 开发工具
流体间距比例生成器
生成一整套基于 clamp() 的间距令牌
给出窄视口和宽视口下的基础间距大小,以及一个缩放比例,即可得到一整套 --space-* 自定义属性,每一个都是各自独立、能在两者之间平滑缩放的 clamp(),可直接粘贴进 :root 中使用。
| 令牌 | 输出 |
|---|---|
| --space-3xs | clamp(0.0988rem, 0.0601rem + 0.1718vw, 0.1975rem) |
| --space-2xs | clamp(0.1481rem, 0.0902rem + 0.2576vw, 0.2963rem) |
| --space-xs | clamp(0.2222rem, 0.1353rem + 0.3865vw, 0.4444rem) |
| --space-sm | clamp(0.3333rem, 0.2029rem + 0.5797vw, 0.6667rem) |
| --space-md | clamp(0.5rem, 0.3043rem + 0.8696vw, 1rem) |
| --space-lg | clamp(0.75rem, 0.4565rem + 1.3043vw, 1.5rem) |
| --space-xl | clamp(1.125rem, 0.6848rem + 1.9565vw, 2.25rem) |
| --space-2xl | clamp(1.6875rem, 1.0272rem + 2.9348vw, 3.375rem) |
| --space-3xl | clamp(2.5313rem, 1.5408rem + 4.4022vw, 5.0625rem) |
输出
:root {
--space-3xs: clamp(0.0988rem, 0.0601rem + 0.1718vw, 0.1975rem);
--space-2xs: clamp(0.1481rem, 0.0902rem + 0.2576vw, 0.2963rem);
--space-xs: clamp(0.2222rem, 0.1353rem + 0.3865vw, 0.4444rem);
--space-sm: clamp(0.3333rem, 0.2029rem + 0.5797vw, 0.6667rem);
--space-md: clamp(0.5rem, 0.3043rem + 0.8696vw, 1rem);
--space-lg: clamp(0.75rem, 0.4565rem + 1.3043vw, 1.5rem);
--space-xl: clamp(1.125rem, 0.6848rem + 1.9565vw, 2.25rem);
--space-2xl: clamp(1.6875rem, 1.0272rem + 2.9348vw, 3.375rem);
--space-3xl: clamp(2.5313rem, 1.5408rem + 4.4022vw, 5.0625rem);
}每个令牌都是各自独立的 clamp(),因此每一级都会在两个视口宽度之间平滑缩放。
本页的所有处理都在浏览器中完成,不会上传任何内容。
这个工具能做什么
单独一个流体 clamp() 对单个数值很有用,但大多数布局需要的是一整套一致的间距等级,手写每一个的 clamp() 只会把同样的算术错误在每个令牌上重复一遍。本工具只需要视口两端各一个基础大小和一个比例,就会像生成字号比例那样,围绕一个中间等级生成一整套对称的令牌,让整套间距在视口变化时始终保持成比例的一致性。
使用方法
- 设置窄视口和宽视口下的基础间距大小。
- 设置各级之间的缩放比例。
- 复制生成的包含 --space-* 自定义属性的 :root 代码块。
隐私说明
本工具完全在你的浏览器中运行。输入的内容不会被上传、保存或分享,关闭标签页即随之消失。
常见问题
- 为什么是九个等级?
- 九个等级在中间值上下各提供四级,足以覆盖从紧凑的行内间隙到较大的区块间距等大多数布局场景,不必事后再临时发明新的名称。
- 会向服务器发送内容吗?
- 不会。每一个 clamp() 都是在页面内根据你输入的数字计算出来的,这也是表格和 CSS 输出能即时更新的原因。
- 这个工具能和 CSS clamp 生成器搭配使用吗?
- 可以。本工具用一组输入生成一整套比例;CSS clamp 生成器则用于像标题字号这样的单个数值,两者背后是同一套运算逻辑。