Skip to content
LinkedInX

Animation & Dynamic Effects

5 min read + 30 min hands-on

Target audience: Anyone wanting to add motion to their designs, or explore JS animation libraries.
Prerequisites: Familiarity with CSS properties like `opacity`, `transform`, and `transition` helps.

Motion adds life to UI and communicates information hierarchy intuitively. The key to animation prompts isn’t just describing how something moves — it’s also saying when, how long, and at what speed.


Elements transition from transparent to opaque. The most versatile and unobtrusive entrance effect.

Add a simple fade-in animation to the hero section that transitions from opacity 0 to 1
over 800ms with an ease-in-out timing function.

Elements move into position from off-screen. Ideal for sidebars and drawers.

Create a slide-in animation for the sidebar that enters from the left with
a transform: translateX(-100%) to translateX(0) transition.

Elements transition from blurred to sharp — a dramatic entrance.

Apply a blur-in effect to images where they start with filter: blur(10px)
and transition to filter: blur(0) when they enter the viewport.

Multiple elements appear in sequence with slight time offsets. Effective for lists and feature showcases.

Create a staggered entrance for list items where each item appears
150ms after the previous one using incremental animation-delay values.

The “feel” of an animation is determined by its timing properties.

PropertyMeaningExample
animation-durationHow long the animation takes500ms
animation-delayHow long before it starts250ms
animation-timing-functionSpeed curveease-in-out

Use negative delay to start an animation partway through its cycle:

Set animation-delay: -2s to start the animation 2 seconds into its cycle.

Characters appear one by one, creating a typing effect.

Create a character-by-character reveal animation for the main headline
using Inter font, with 50ms delay between each character.

Words fade in while rising upward, one after another.

Create a staggered fade-up animation for each word in the tagline,
with 100ms delay between words.

Each letter appears with a scale effect — dynamic and playful.

Create a letter-by-letter animation with a subtle scale effect
and 80ms staggered delay, using a bold display font.

An animated gradient background clipped to the text.

Apply a moving gradient background from blue to purple to the main heading,
animating horizontally over 3 seconds in a loop.

Text reveals left-to-right through a clipping mask.

Create a text animation that reveals the title from left to right
using a clipping mask over 800ms with an ease-out timing function.

For more sophisticated effects, specify a JS library.

Professional-grade animation. Handles complex sequences and physics.

Use GSAP to implement a staggered fade-in for the features list
as users scroll down the page.

Animated backgrounds with minimal configuration.

Use Vanta.js BIRDS effect as a subtle animated background
for the newsletter signup section.

3D scenes and models in the browser.

Create a landing page with a Three.js background featuring
a slow-rotating 3D model of the product.

Lightweight library for interactive 3D globes.

Add a COBE.js globe to the "Global Presence" section
that highlights office locations with markers.

  • Keep UI interaction animations under 500ms
  • Animations should be subtle and purposeful — excess motion hurts UX
  • Implement prefers-reduced-motion to respect user accessibility settings
Disable all animations for users who have prefers-reduced-motion: reduce set.