Micro Animations (100-200ms)
The 100-200ms range is the sweet spot for micro-interactions. Fast enough to feel responsive, slow enough to be perceived as intentional motion.
Disney Principles at Micro Speed
Works Well
Squash & Stretch: Light application - 5-10% works for bouncy buttons, appearing elements.
Anticipation: Micro-anticipation possible - 20-30ms wind-up before 150ms action.
Staging: Single focal point - one element moving, rest static.
Straight Ahead/Pose to Pose: Either works - simple enough for straight ahead, controlled enough for poses.
Follow Through: Minimal overshoot - 2-5% past target, settle quickly.
Slow In/Slow Out: ease-out dominates - elements should arrive confidently.
Arcs: Slight curves possible - dropdown items can arc subtly rather than straight down.
Secondary Action: One secondary max - icon rotates while menu opens.
Timing: 6-12 frames at 60fps. Enough for smooth motion.
Exaggeration: Moderate - scale 0.9-1.1, rotation up to 30 degrees.
Solid Drawing: Simple transforms - scale, opacity, short translations.
Appeal: Quick animations feel modern and polished.
Doesn't Work
-
Long travel distances
-
Complex choreography
-
Heavy physics simulations
-
Multi-stage reveals
-
Elaborate anticipation sequences
Easing Recommendations
/* Standard micro-interaction */ transition: all 150ms ease-out;
/* Appearing elements - start fast, land soft */ transition: opacity 120ms ease-out, transform 150ms ease-out;
/* Bouncy micro-feedback */ transition: transform 180ms cubic-bezier(0.34, 1.56, 0.64, 1);
Best Use Cases
-
Tooltip appearance
-
Dropdown menus opening
-
Icon state changes
-
Small hover animations
-
Notification badges
-
Tab switches
-
Accordion headers
Implementation Pattern
.tooltip { opacity: 0; transform: translateY(-4px) scale(0.95); transition: opacity 120ms ease-out, transform 150ms ease-out; }
.trigger:hover .tooltip { opacity: 1; transform: translateY(0) scale(1); }
.dropdown-item { opacity: 0; transform: translateY(-8px); transition: all 150ms ease-out; }
Key Insight
Micro-animations are felt more than watched. Users notice when they're missing but don't consciously observe them. This is where polish lives.