Transitions & Animations
Transition and animation utilities for controlling element transitions, timing, and animations.
Transition Property
Specify which CSS properties should transition.
CSS
.transition-none /* transition-property: none */
.transition /* transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter */
.transition-all /* transition-property: all */
.transition-colors /* transition-property: color, background-color, border-color, text-decoration-color, fill, stroke */
.transition-opacity /* transition-property: opacity */
.transition-shadow /* transition-property: box-shadow */
.transition-transform /* transition-property: transform */Transition Duration
Control the duration of transitions.
CSS
.duration-75 /* 75ms */
.duration-100 /* 100ms */
.duration-150 /* 150ms */
.duration-200 /* 200ms */
.duration-300 /* 300ms */
.duration-500 /* 500ms */
.duration-700 /* 700ms */
.duration-1000 /* 1000ms (1 second) */Transition Timing
Control the timing function (easing) of transitions.
CSS
.ease-linear /* linear */
.ease /* ease (default) */
.ease-in /* ease-in */
.ease-out /* ease-out */
.ease-in-out /* ease-in-out */Transition Delay
Add a delay before the transition starts.
CSS
.delay-75 /* 75ms delay */
.delay-100 /* 100ms delay */
.delay-150 /* 150ms delay */
.delay-200 /* 200ms delay */
.delay-300 /* 300ms delay */
.delay-500 /* 500ms delay */
.delay-700 /* 700ms delay */
.delay-1000 /* 1000ms delay */Animations
Built-in animations for common use cases.
CSS
.animate-none /* animation: none */
.animate-spin /* spin 1s linear infinite - for loading indicators */
.animate-ping /* ping 1s cubic-bezier(0, 0, 0.2, 1) infinite - for notifications */
.animate-pulse /* pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite - for emphasis */
.animate-bounce /* bounce 1s infinite - for attention */Animation Details
Spin Animation
Continuous rotation animation, perfect for loading indicators.
HTML
<svg class="animate-spin h-5 w-5 text-blue-500" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"></path>
</svg>Ping Animation
Scale and fade animation, ideal for notification badges.
HTML
<span class="relative flex h-3 w-3">
<span class="animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75"></span>
<span class="relative inline-flex rounded-full h-3 w-3 bg-green-500"></span>
</span>Pulse Animation
Opacity pulse animation, great for skeleton loaders.
HTML
<div class="animate-pulse bg-gray-200 rounded h-4 w-32"></div>Bounce Animation
Bouncing animation for drawing attention.
HTML
<div class="animate-bounce">
β Scroll down
</div>Responsive Transitions
Apply transition utilities at specific breakpoints.
CSS
/* Responsive transition properties */
.sm:transition .md:transition-all .lg:transition-colors
/* Responsive durations */
.sm:duration-150 .md:duration-300 .lg:duration-500
/* Responsive timing functions */
.sm:ease-in .md:ease-out .lg:ease-in-out
/* Responsive animations */
.sm:animate-pulse .md:animate-bounce .lg:animate-spinCommon Patterns
Button Hover Effect
HTML
<button class="bg-blue-500 text-white px-4 py-2 rounded
transition-colors duration-200 ease-in-out
hover:bg-blue-600">
Hover Me
</button>Fade In on Hover
HTML
<div class="opacity-0 transition-opacity duration-500 ease-in-out hover:opacity-100">
Fade in on hover
</div>Scale Transform
HTML
<div class="transform transition-transform duration-300 ease-out hover:scale-105">
Scale up on hover
</div>Card Hover Effect
HTML
<div class="bg-white rounded-lg shadow transition-all duration-300 ease-in-out
hover:shadow-lg hover:-translate-y-1">
<h3>Card Title</h3>
<p>Card content</p>
</div>Reduced Motion Support
Respect user preferences for reduced motion using motion-reduce utilities.
HTML
<div class="animate-pulse motion-reduce:animate-none">
This will respect user's motion preferences
</div>