Entrance Animations
Use when elements need to appear on screen - page loads, modals opening, items being added, content reveals, or any "coming into view" animation.
- Skill ID
- dylantarre/animation-principles/entrance-animations
- Publisher
- dylantarre
- Repository
- animation-principles
- Installs
- 0
- Files
- 1
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
dylantarre/animation-principles/entrance-animationsInstalls these files- SKILL.md
What this skill tells the agent
Entrance Animations
Apply Disney's 12 principles when bringing elements into view.
Principle Application
Squash & Stretch: Scale from 95% to 100% on entry. Elements feel elastic, not rigid.
Anticipation: Start slightly below/smaller than final position. A -10px offset before sliding up creates expectation.
Staging: Enter from the direction of user attention. New list items from the top, modals from center, sidebars from their edge.
Straight Ahead vs Pose-to-Pose: Use pose-to-pose. Define clear start state (invisible, offset) and end state (visible, positioned).
Follow Through & Overlapping: Child elements should lag slightly. Container enters first, content 50-100ms after.
Slow In/Slow Out: Use ease-out for entrances. Fast start, gentle landing: cubic-bezier(0, 0, 0.2, 1).
Arcs: Combine Y and X movement. Don't just fade - slide in on a subtle curve.
Secondary Action: Pair fade with scale. Opacity 0→1 while scaling 0.95→1 adds depth.
Timing:
- Quick entrances: 150-200ms (toasts, tooltips)
- Standard entrances: 200-300ms (modals, cards)
- Dramatic reveals: 300-500ms (hero sections, page transitions)
Exaggeration: Scale can start at 0.8 for dramatic effect, 0.95 for subtle polish.
Solid Drawing: Maintain consistent 3D space. Elements entering from "behind" should scale up; from sides should slide.
Appeal: Entrances should feel welcoming. Avoid jarring pops - everything deserves an introduction.
Timing Recommendations
| Element Type | Duration | Easing | Delay Pattern |
|---|---|---|---|
| Toast/Alert | 150ms | ease-out | None |
| Modal | 250ms | ease-out | Content +50ms |
| Card/Item | 200ms | ease-out | None |
| List Items | 200ms | ease-out | Stagger 50ms |
| Page Section | 300ms | ease-out | Stagger 100ms |
| Hero Content | 400ms | ease-out | Stagger 150ms |
Implementation Pattern
.entering {
animation: entrance 250ms cubic-bezier(0, 0, 0.2, 1) forwards;
}
@keyframes entrance {
from {
opacity: 0;
transform: translateY(10px) scale(0.98);
}
to {
opacity: 1;
transform: translateY(0) scale(1);
}
}Stagger Formula
For multiple items: delay = index * 50ms, cap at 500ms total sequence time.
Never exceed 5 items in a stagger sequence without user-initiated action.
More from dylantarre
Use this skill in a project
Open any RiverX project, search the Skills panel for dylantarre/animation-principles/entrance-animations, and install it in one click.
