缓动函数可视化工具

还在为生硬的网页动画烦恼吗?本工具通过可视化 Cubic-Bezier 曲线,助你调校出具有物理感、节奏感的高端动画。 解决 UI 交互“机械化”痛点,让每一个动效都深入人心。

广告占位符 - 支撑免费工具运行

✨ 动效预览
时长: 1s
💻 导出代码

            

赞助商广告

📊 节奏对比 (VS Linear/Ease)
当前缓动 (Custom)
匀速 (Linear)
标准 (Ease)
进出 (Ease-In-Out)

如何解决网页动画“生硬机械”的问题?

在开发网页或移动应用时,你是否发现自己的动画总是显得“假”?比如侧边栏弹出的瞬间过于唐突,或者按钮点击后的缩放反馈像是一个简陋的 PPT 切换。 核心原因在于:你使用的是线性动画 (Linear Animation)。

物理世界中,没有任何物体是从静止瞬间达到最高速,再瞬间停下的。重力、摩擦力和惯性决定了运动必然带有加速度。 本工具通过 Cubic-Bezier (三次贝塞尔曲线) 模拟这些物理特性,解决以下具体的交互痛点:

🚨 问题 1:弹窗弹出太生硬,没有视觉缓冲

解决方案: 使用 ease-out 类曲线。动画开始时极快,捕捉用户注意力,结尾时缓慢停下,显得优雅。 在我们的预设中选择 easeOutQuarteaseOutExpo ,可以让弹窗像滑入丝绒垫一样顺滑。

🚨 问题 2:按钮点击反馈“肉肉的”,不够爽快

解决方案: 尝试 Back (回弹) 效果。在缩放或位移的终点增加一个微小的超出量再回弹。 这能模拟物理按键被按下后的反弹感,让交互充满“确认感”。

深入理解 Cubic-Bezier 的四个核心参数

cubic-bezier(x1, y1, x2, y2) 定义了一个单位正方形内的两个控制点:

  • (x1, y1) :决定了动画启动时的斜率。y1 越大,启动越快;y1 为负值时会产生向后蓄力的效果。
  • (x2, y2) :决定了动画结束前的状态。y2 大于 1 时会产生超出终点再回弹的效果。

不同场景下的缓动建议 (Best Practices)

  1. 页面入场 (Entrance) :推荐使用 ease-out 变体。用户希望尽快看到内容,所以开头要快。
  2. 页面离场 (Exit) :推荐使用 ease-in 变体。物体离开时,用户已经看完了,加速离开可以节省等待时间。
  3. 小球/图标移动 (Moving) :推荐使用 ease-in-out 。模拟物体从 A 点移动到 B 点的完整加速和减速过程。
  4. 趣味性交互 (Playful UI) :大胆使用 elastic (弹性) 或 bounce (反弹),增加品牌的灵动性格。

为什么选择本工具?

市面上有很多贝塞尔工具,但我们更懂开发者:

  • 代码一键导出 :支持主流动画库 GSAP、Anime.js,无需手动转换参数。
  • 实时竞速对比 :直接将你的自定义曲线与 linear/ease 对比,一眼看出优化效果。
  • 移动端适配 :在手机上也能精准调试动画曲线。
❓ 开发者常见问题 (FAQ)

CSS 里的 cubic-bezier 最大值是多少?

X 轴 (时间轴) 必须在 0 到 1 之间。但 Y 轴 (进度轴) 可以超出这个范围,比如设置到 1.5 实现超出回弹,或者 -0.5 实现向后蓄力。这是制作“生动”动画的秘诀。

为什么导出的 GSAP 代码和 CSS 不一样?

GSAP 有自己的缓动引擎。对于标准的贝塞尔曲线,我们将其转换为 GSAP 的 CustomEase 格式,以确保在 JS 动画中也能获得 100% 一致的视觉效果。

如何在移动端保证动画流畅?

尽量只对 transform (位移、缩放、旋转) 和 opacity 使用缓动动画。这些属性由 GPU 加速,不会触发重排,配合我们的缓动曲线可实现 60fps 满帧体验。