Back to Blog
Animation 10 min read

Mastering Motion Design in UI

B

Bhavana

UI/UX Designer

ingredient that separates good interfaces from exceptional ones. When done right, animation feels invisible—it just makes the experience feel more natural and intuitive. In this guide, I’ll share the principles I’ve learned after years of crafting motion for digital products.

Why Motion Matters

Animation isn’t decoration—it’s communication. Well-designed motion serves functional purposes that improve usability:

40% Less perceived wait
70% Better task completion
2x Higher engagement
25% Reduced errors
ℹ️ The Psychology

Our brains are wired to notice movement. Motion draws attention, shows causality, and helps us understand spatial relationships in interfaces.

The 12 Principles (Simplified for UI)

Disney’s 12 principles of animation translate beautifully to interface design. Here are the most relevant ones:

  • Easing — Never use linear timing. Ease-out for entrances, ease-in for exits
  • Anticipation — Prepare users for what's about to happen with subtle cues
  • Follow-through — Let elements settle naturally after the main action
  • Secondary Action — Support the main action with complementary motion
💡 Pro Tip

The most impactful change you can make? Replace all linear transitions with ease-out or a custom spring. Instant improvement.

Timing Guidelines

Getting duration right is crucial. Too fast feels jarring, too slow feels sluggish.

Element TypeRecommended DurationEasing
Micro-interactions100-200msEase-out
Page transitions300-400msEase-in-out
Modal overlays200-300msEase-out
List items150-250msEase-out (staggered)
Loading states800-1200msLinear loop
⚠️ Warning

Respect reduced motion preferences! Always check prefers-reduced-motion and provide static alternatives for users who need them.

Easing Functions I Use

The right easing curve makes all the difference. Here are my go-to options:

Custom Easing Curves

#c8ff00
Spring Bouncy, playful
#3b82f6
Smooth Professional, calm
#f59e0b
Snappy Quick, responsive
#22c55e
Gentle Subtle, elegant
Motion Config TypeScript
// My favorite easing functions
const easings = {
// Natural spring - great for entrances
spring: 'cubic-bezier(0.34, 1.56, 0.64, 1)',

// Smooth deceleration - perfect for most UI
smooth: 'cubic-bezier(0.4, 0, 0.2, 1)',

// Snappy response - for micro-interactions
snappy: 'cubic-bezier(0.16, 1, 0.3, 1)',

// Gentle ease - for subtle movements
gentle: 'cubic-bezier(0.25, 0.1, 0.25, 1)',
};

Practical Examples

Button Hover States

A great button hover has three layers of motion:

  1. Background color transition (150ms ease-out)
  2. Scale transform (100ms spring)
  3. Shadow elevation (200ms ease-out)
Button Animation CSS
.button {
transition: 
  background-color 150ms ease-out,
  transform 100ms cubic-bezier(0.34, 1.56, 0.64, 1),
  box-shadow 200ms ease-out;
}

.button:hover {
transform: translateY(-2px) scale(1.02);
box-shadow: 0 10px 20px -10px rgba(0, 0, 0, 0.3);
}

Page Transitions

For page transitions, I recommend using Astro’s View Transitions or Framer Motion:

View Transition CSS
::view-transition-old(root),
::view-transition-new(root) {
animation-duration: 0.4s;
animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
💬 Mentor Note

Don’t animate everything. The power of motion comes from restraint. Use it purposefully to guide attention and confirm actions.

Tools & Resources

Key Takeaways

“Animation is not about making things move. It’s about making things feel alive.”

Motion design is a skill that develops with practice. Start with these principles:

  • Always use easing—linear motion feels robotic
  • Keep durations under 400ms for most UI elements
  • Respect prefers-reduced-motion for accessibility
  • Use motion to show causality and spatial relationships
  • Less is more—purposeful animation over decorative
Your Turn

Try auditing your current project’s animations. Replace one linear transition with a spring curve today. Small changes, big impact!

B

Written by Bhavana

UI/UX Designer with 4 months of experience crafting digital products. I write about design systems, accessibility, and user-centered design.