1. Transitions & Animation
  2. Transition Duration

Quick reference

Class
Properties
duration-0transition-duration: 0s;
duration-75transition-duration: 75ms;
duration-100transition-duration: 100ms;
duration-150transition-duration: 150ms;
duration-200transition-duration: 200ms;
duration-300transition-duration: 300ms;
duration-500transition-duration: 500ms;
duration-700transition-duration: 700ms;
duration-1000transition-duration: 1000ms;

Basic usage

Changing transition duration

Use the duration-* utilities to control an element’s transition-duration.

Hover each button to see the expected behaviour

duration-150

duration-300

duration-700

<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: {
        '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="duration-[2000ms]">
  <!-- ... -->
</div>

Learn more about arbitrary value support in the arbitrary values documentation.