How to create smooth transitions between element states? These 50 CSS transition effects cover all patterns: fade in/out, slide, flip, morph, expand and page transitions. Each transition uses CSS best practices with custom Bezier curves for a professional result.

Page A
Page B

Fade Through

The page gradually fades to black then reveals the new page.

CSS Opacity Smooth

Slide Over

New content slides over the old from left to right.

CSS Transform Slide

Circle Reveal

A circle expands from the center to reveal the new page.

CSS Clip-path Circle

Curtain Open

Two panels open like theater curtains.

CSS Transform Theatrical

Diagonal Wipe

A diagonal line sweeps across the screen to reveal the new content.

CSS Clip-path Wipe

Pixelate Dissolve

The screen breaks into pixels that appear and disappear.

CSS Grid Retro

Flip Page

The page flips over like a book.

CSS 3D Perspective

Zoom Through

Zoom into the screen center then zoom out on the new page.

CSS Scale Zoom

Blinds Effect

Horizontal blinds close then open to reveal the new page.

CSS Transform Blinds

Morph Transition

A shape morphs and expands to cover the screen then shrinks back.

CSS Morph Shape
Etat A
Home page
Etat B
Page profil
Click to toggle

Crossfade Transition

Smooth crossfade between two states. Simulates the native crossfade of the View Transitions API.

CSS Crossfade Premium

Slide Transition

Content slides left while new content comes in from the right, like page-to-page navigation.

CSS Slide Navigation

Scale Morph

The element changes size, shape and color with an elastic animation curve.

CSS Morph Premium

Shared Element

A shared element moves from one position to another, mimicking the shared element transition of the API.

CSS Shared Premium

Fade & Slide Up

Content fades out upward and new content rises from the bottom. Ideal for profiles and cards.

CSS Fade Slide

Flip Transition

The card performs a 3D rotation to reveal different content on the back. Classic and elegant effect.

CSS 3D Flip

Zoom Transition

Zoom-in effect that enlarges the view to transition to a new detailed state. Perfect for galleries.

CSS Zoom Premium

Circular Reveal

New content reveals itself with an expanding circle via clip-path. Ideal for theme toggles.

CSS Clip-path Premium

Stagger List

List items exit one by one with staggered delays, then new items appear progressively.

CSS Stagger List

Page Turn

Simulates a 3D page turn effect to reveal the next page. Inspired by e-readers and digital books.

CSS 3D Premium

Dark Mode

Dark theme active

Light Mode

Light theme active

Circular Reveal

Theme toggle with circular reveal via clip-path: circle() from the top-right button.

CSS clip-path Toggle

Smooth Fade

Theme transition via cross-fade opacity with sun/moon icon morphing.

CSS Fade Opacity

Slide Wipe

Horizontal wipe with clip-path: inset() and a luminous separation line crossing the screen.

CSS Wipe clip-path

Color Morph

Theme transition entirely driven by CSS custom properties with transition on each variable.

CSS Variables Morph

Icon Toggle

Theme button with rotational morphing between sun and moon icons. Combined rotation and scale.

CSS Icon Morph

Card Theme

Complete card with avatar, text and buttons where each element transitions between the two themes.

CSS Card Transition

Gradient Shift

Gradient background shifting from cool nighttime hues to warm golden tones in 0.8s.

CSS Gradient Ambient

Adaptive UI

Miniature interface (nav, content, blocks) that toggles between dark and light theme on click.

CSS UI Adaptive

Split Compare

Side-by-side comparison of both themes with a luminous central separator and "VS" label.

CSS Compare Split

Pixelate Transition

Pixelated transition: colored blocks appear in random cascade to reveal the new theme.

CSS JS Pixel
Bloom Popover Content

Popover Bloom

The element blooms open from its anchor point with scale + opacity via @starting-style.

CSS @starting-style Popover
Stage Curtain

Dialog Curtain

Modal that opens like stage curtains, separating from the center.

CSS Dialog Transition

Stage Curtain Dialog

Content appears after the curtains open.

Toast Cascade

Stacked toast notifications with fluid entry, reordering and graceful exit.

JS Animation Stack

Card Vanish

The card dissolves into particles on removal and materializes from particles on entry.

JS Particles Canvas

List Item Slide

Elements slide in from the side with staggered delays and collapse on removal.

CSS Stagger Collapse

Accordion Fold

Content sections that fold/unfold like paper with 3D perspective transforms.

CSS 3D Perspective

Morph Transition

The element morphs shape/position transitioning from display:none to display:block with allow-discrete.

CSS allow-discrete Morph

Portal Open

Content appears through an expanding circular mask, like a portal opening.

CSS clip-path Circle

Flip Card Entry

Elements pivot from the back face with 3D rotation to reveal content.

CSS 3D Rotation Backface

Fade Through Color

Elements pass through a brand color (not just opacity) during entry/exit.

CSS Color Transition

Motion Design

Staggered Reveal

Elements appearing in cascade with progressive delay for a coordinated effect.

CSS JS Cascade

Elastic Spring

Spring animation with physical bounce and realistic elastic deformation.

CSS Physics Bounce

Orchestrated Motion

Coordinated multi-element animation After Effects-style with synchronized timing.

CSS JS Orchestrated

Kinetic Wave

Wave propagation through a dot grid with progressive delay.

CSS JS Wave

Inertia Momentum

Movement with inertia and natural deceleration: drag the cube and watch it slow down.

JS Physics Drag

SVG Path Follow

Element following a complex SVG path with a fluid animation along the curve.

SVG JS Path

Character Cascade

Text with character-by-character animation, each letter appears individually.

JS Text Cascade

3D Flip Sequence

Chained 3D flip sequence with delay between each card for a domino effect.

CSS 3D Flip Sequence

Shape Morph Transition

Fluid transition between geometric shapes: circle, organic blob, square, and back.

CSS Morph Shapes

Timeline Choreography

Multi-step synchronized timeline sequence with animated progress bars.

CSS JS Timeline

View Transitions Page Reveal

Smooth morph between a grid and its detail view using the browser's native View Transitions API. Automatic fallback if unsupported.

View TransitionsNative APIPremium

Cross-Document Page Morph

Smooth transition between two real pages (multi-page): the shared element morphs from one page to the other via the native View Transitions API, without a single line of JavaScript. The SPA feel, without the SPA cost.

💡 Perfect for: blog list→article, e-commerce listing→product page, portfolio→case study, docs, any multi-page site.

View Transitions MPA 0 JS Premium

Frequently Asked Questions

What is the difference between transition and animation in CSS? +

A transition animates the change from state A to state B (e.g.: hover). An animation can have multiple steps (@keyframes), loop, and trigger without interaction. Use transition for interactions, animation for autonomous effects.

How to create a page transition in CSS? +

Use the View Transitions API (document.startViewTransition()) for page transitions. For within-page transitions, combine opacity and transform with a toggleable class. Customize curves with cubic-bezier.

What is the ideal duration for a CSS transition? +

Between 200ms and 400ms for interactions (hover, click). 300ms is the standard. Below 150ms, the animation is too fast to be perceived. Above 500ms, it feels slow. Use ease-out for entrances and ease-in for exits.

How to avoid layout shift during a transition? +

Only animate transform and opacity (not width, height, margin). Use position:absolute to take the element out of the flow. Reserve space with min-height. Prefer scale() over width for enlargements.

How to chain multiple CSS transitions? +

Use transition-delay on each property: transition: opacity 0.3s ease 0s, transform 0.3s ease 0.1s. Or use @keyframes with percentages for full control over the sequence.

Similar Categories