跳到正文
在此运行 完全在你的浏览器里运行,不上传、不登录

缓动函数可视化

在画布上对比 35 条缓动曲线,并导出 CSS、JS、Anime.js 或 GSAP 代码。

进度曲线

运动预览

实心小球为所选缓动,空心小球为匀速参照。

生成的代码

弹跳、弹性与弹簧族的贝塞尔输出是拟合近似值:这些曲线会过冲,单段 cubic-bezier 只能逼近其形状。

怎么用

  1. 从列表里选一种缓动。列表分为基础、四种 CSS 关键字曲线、九个族(sine 到 bounce)的 in / out / inOut 变体,以及三种弹簧预设。
  2. 看画布:实线是所选缓动,虚线对角线是匀速参照,移动的小圆点表示当前时刻的进度。
  3. 点 Play 运行运动预览。实心小球走缓动,空心小球匀速前进,方便对比。
  4. 填上你实际要用的时长,再选导出格式。
  5. 复制生成的代码。CSS 格式给出 transition-timing-function,JavaScript 格式给出接收 t 的独立函数。

常见用法

常见问题

问:cubic-bezier 输出对所有缓动都精确吗? 答:只有 linear 与四种 CSS 关键字曲线是精确的,它们本身就是 cubic-bezier。弹跳、弹性与弹簧族的输出是最小二乘拟合结果:这些曲线会反复过冲,单段 cubic-bezier 只能逼近形状。

问:JavaScript 导出为什么要限制 t 的范围? 答:生成函数把输入限制在 0 到 1,这样偶尔晚一帧也不会把进度推过终点值。如果你需要区间外的过冲,可以把这行限制去掉。

问:Anime.js 与 GSAP 的字符串能直接用吗? 答:生成结果遵循 Anime.js v3 与 GSAP 3 的命名。旧版本名称不同;弹簧缓动映射到最接近的内置参数组合,不是完全等价。

你的数据留在这台设备上

缓动函数可视化 完全在本地运行。你粘贴或拖入的一切都由你自己的浏览器处理,不会被传走。我们的服务器不保存任何东西——关掉标签页就没了。

你输入的内容不会发往服务器、不被记录,也不用于分析统计。首次加载之后即使断网,这个页面照样能用。