Timing Calibration

dylantarre/animation-principles/skills/12-by-problem-type/timing-calibration

作者 dylantarre83597134ba8f无许可证99 个星标收录于 2026年10月8日更新于 2026年10月8日仓库9个月前更新

Use when animation speed feels wrong—too fast, too slow, or inconsistent

仅含说明Design & Creative
AI 生成的概览

依据迪士尼动画时间原则诊断并修正动画速度,提供时长刻度、缓动建议与 CSS 变量。

功能
引导代理诊断动画速度问题,例如时长过快、过慢或不一致。它把每个问题对应到一项原则(时间、慢入慢出、弧线、舞台调度、次要动作)并给出修正方法。此外还提供时长刻度表、快速修正建议、排查清单,以及用于时长与缓动的 CSS 自定义属性代码示例。
适用场景
适用于动画速度感觉不对的情况,例如反馈说动作太慢或太快、相似动作速度不一致、用户需要等待动画结束,或动效显得机械不自然。它适合调整界面动效节奏,而不是从零搭建动画系统。
运行要求
无需脚本或工具,仅为说明性内容。其中的 CSS 示例假定项目使用 CSS 自定义属性。

Timing Calibration

Get animation speed right using Disney's timing principles.

Problem Indicators

  • "Too slow" or "too fast" feedback
  • Animations feel inconsistent
  • Similar actions have different speeds
  • Users wait for animations
  • Motion feels robotic or unnatural

Diagnosis by Principle

Timing

Issue: Duration doesn't match action type Fix: Micro-interactions: 100-150ms. Transitions: 200-400ms. Complex reveals: 400-600ms. Never exceed 1s for UI.

Slow In and Slow Out

Issue: Linear timing feels mechanical Fix: Use easing. Ease-out for entrances (fast start, soft landing). Ease-in for exits (soft start, quick finish).

Arcs

Issue: Straight-line motion at wrong speed Fix: Curved paths need more time than straight paths. Increase duration for arc motion.

Staging

Issue: Multiple speeds compete Fix: Similar elements should animate at similar speeds. Create timing harmony.

Secondary Action

Issue: Secondary animations at wrong relative speed Fix: Secondary actions should be slightly slower than primary. Creates natural hierarchy.

Timing Scale

CategoryDurationUse For
Instant0-100msHover states, micro-feedback
Fast100-200msButtons, toggles, small elements
Normal200-300msCards, modals, most transitions
Slow300-400msPage transitions, large elements
Deliberate400-600msComplex reveals, onboarding

Quick Fixes

  1. Start with 200ms - Adjust from there
  2. Larger elements = longer duration - Size affects perceived speed
  3. Distance affects timing - Longer travel = longer duration
  4. Create a timing scale - Use 3-4 consistent values
  5. Test at 2x speed - If too slow works, use it

Troubleshooting Checklist

  • Is duration under 400ms for most UI?
  • Do similar elements have similar timing?
  • Is easing applied (not linear)?
  • Does larger movement have longer duration?
  • Test: Speed up by 30%—still readable?
  • Test: Slow down by 30%—feels sluggish?
  • Are users waiting for animations?
  • Compare to platform conventions (iOS/Android/Web)

Code Pattern

css
:root {  /* Timing scale */  --duration-instant: 50ms;  --duration-fast: 150ms;  --duration-normal: 250ms;  --duration-slow: 350ms;  --duration-deliberate: 500ms;
  /* Easing */  --ease-out: cubic-bezier(0, 0, 0.2, 1);  --ease-in: cubic-bezier(0.4, 0, 1, 1);  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);}
/* Size-aware timing */.small-element { transition-duration: var(--duration-fast); }.medium-element { transition-duration: var(--duration-normal); }.large-element { transition-duration: var(--duration-slow); }

来源与署名

来源:dylantarre/animation-principles位于skills/12-by-problem-type/timing-calibration提交8359713

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架