Transitions & Animation
Transition Duration
Utilities for controlling the duration of CSS transitions.
Quick reference
Class | Properties |
---|---|
duration-75 | transition-duration: 75ms; |
duration-100 | transition-duration: 100ms; |
duration-150 | transition-duration: 150ms; |
duration-200 | transition-duration: 200ms; |
duration-300 | transition-duration: 300ms; |
duration-500 | transition-duration: 500ms; |
duration-700 | transition-duration: 700ms; |
duration-1000 | transition-duration: 1000ms; |
Basic usage
Changing transition duration
Use the duration-{amount}
utilities to control an element’s transition-duration.
Hover each button to see the expected behaviour
<button class="transition duration-150 ease-in-out ...">Button A</button>
<button class="transition duration-300 ease-in-out ...">Button B</button>
<button class="transition duration-700 ease-in-out ...">Button C</button>
Applying conditionally
Hover, focus, and other states
Tailwind lets you conditionally apply utility classes in different states using variant modifiers. For example, use hover:duration-150
to only apply the duration-150
utility on hover.
<div class="transition duration-0 hover:duration-150">
<!-- ... -->
</div>
For a complete list of all available state modifiers, check out the Hover, Focus, & Other States documentation.
Breakpoints and media queries
You can also use variant modifiers to target media queries like responsive breakpoints, dark mode, prefers-reduced-motion, and more. For example, use md:duration-150
to apply the duration-150
utility at only medium screen sizes and above.
<div class="transition duration-0 md:duration-150">
<!-- ... -->
</div>
To learn more, check out the documentation on Responsive Design, Dark Mode and other media query modifiers.
Using custom values
Customizing your theme
By default, Tailwind provides eight general purpose transition-duration utilities. You can customize these values by editing theme.transitionDuration
or theme.extend.transitionDuration
in your tailwind.config.js
file.
tailwind.config.js
module.exports = { theme: { extend: { transitionDuration: { '0': '0ms', '2000': '2000ms', } } }}
Learn more about customizing the default theme in the theme customization documentation.
Arbitrary values
If you need to use a one-off transition-duration
value that doesn’t make sense to include in your theme, use square brackets to generate a property on the fly using any arbitrary value.
<div class="transition-[2000ms]">
<!-- ... -->
</div>
Learn more about arbitrary value support in the arbitrary values documentation.