About small-200-300ms
A design skill for choosing and implementing 200–300 ms UI transitions. It explains how animation principles behave at this duration and gives easing guidance and interface examples.
Key features
- 01Guidance for 200–300 ms transitions
- 02Animation principle recommendations
- 03CSS easing examples
- 04UI transition use cases
Use cases
- 01Animating modal appearances
- 02Expanding or collapsing cards
- 03Transitioning tabs or filter panels
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ dylantarre/ animation-principles --skill small-200-300msAfter installing, type/small-200-300msin Claude Code to confirm it loaded.
Details
From the project READMESmall Transitions (200-300ms)
At 200-300ms, users consciously perceive motion. This duration bridges micro-interactions and full animations - ideal for UI state changes.
Disney Principles at Small Duration
Works Well
Squash & Stretch: Visible but restrained - 10-15% for playful interfaces, 5% for professional.
Anticipation: Brief wind-up works - 40-60ms preparation enhances 200ms main action.
Staging: Clear hierarchy - primary element leads, secondary follows by 50-100ms.
Straight Ahead/Pose to Pose: Pose to pose preferred - keyframes create polished motion.
Follow Through: Noticeable overshoot - 5-10% past target adds life.
Slow In/Slow Out: Full easing curves - both ease-in-out and custom beziers shine.
Arcs: Natural curves enhance - elements can travel on arcs rather than straight lines.
Secondary Action: One or two secondary actions - fade + scale, move + rotate.
Timing: 12-18 frames at 60fps. Smooth, deliberate motion.
Exaggeration: Moderate to pronounced - depends on brand personality.
Solid Drawing: Full transform combinations - translate, scale, rotate together.
Appeal: Conscious animation that builds brand character.
Doesn't Work
- Feeling instant (too slow)
- Complex character animation
- Long travel distances
- Multiple sequential stages
Easing Recommendations
/* Standard smooth transition */
transition: all 250ms ease-out;
/* Modal/card appearance - confident arrival */
transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);
/* Bouncy personality */
transition: transform 280ms cubic-bezier(0.34, 1.56, 0.64, 1);
/* Professional, subtle */
transition: all 220ms cubic-bezier(0.4, 0, 0.2, 1);
Best Use Cases
- Modal dialogs appearing
- Card expand/collapse
- Navigation drawer slides
- Tab content transitions
- Filter panel toggles
- Image thumbnails expanding
- Alert/notification slides
Implementation Pattern
.modal {
opacity: 0;
transform: translateY(20px) scale(0.95);
transition: opacity 200ms ease-out,
transform 250ms cubic-bezier(0.16, 1, 0.3, 1);
}
.modal.open {
opacity: 1;
transform: translateY(0) scale(1);
}
.card-expand {
transition: all 280ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
Key Insight
Small transitions are seen and understood. Users track the motion and their brain processes the spatial relationship. Use this to guide attention and communicate hierarchy.