Utilities for controlling the easing of CSS transitions.
Class |
Properties |
|---|---|
| ease-linear | transition-timing-function: linear; |
| ease-in | transition-timing-function: cubic-bezier(0.4, 0, 1, 1); |
| ease-out | transition-timing-function: cubic-bezier(0, 0, 0.2, 1); |
| ease-in-out | transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); |
Use the ease-{timing} utilities to control an element’s easing curve.
<button class="ease-in duration-300 ...">Button A</button> <button class="ease-out duration-300 ...">Button B</button> <button class="ease-in-out duration-300 ...">Button C</button>
Tailwind lets you conditionally apply utility classes in different states using variant modifiers. For example, use hover:ease-in to only apply the ease-in utility on hover.
<div class="transition duration-150 ease-out hover:ease-in"> <!-- ... --> </div>
For a complete list of all available state modifiers, check out the Hover, Focus, & Other States documentation.
You can also use variant modifiers to target media queries like responsive breakpoints, dark mode, prefers-reduced-motion, and more. For example, use md:ease-in to apply the ease-in utility at only medium screen sizes and above.
<div class="transition duration-150 ease-out md:ease-in"> <!-- ... --> </div>
To learn more, check out the documentation on Responsive Design, Dark Mode and other media query modifiers.
By default, Tailwind provides four general purpose transition-timing-function utilities. You can customize these values by editing theme.transitionTimingFunction or theme.extend.transitionTimingFunction in your tailwind.config.js file.
module.exports = {
theme: {
extend: {
transitionTimingFunction: {
'in-expo': 'cubic-bezier(0.95, 0.05, 0.795, 0.035)',
'out-expo': 'cubic-bezier(0.19, 1, 0.22, 1)',
}
}
}
}
Learn more about customizing the default theme in the theme customization documentation.
If you need to use a one-off transition-timing-function 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="ease-[cubic-bezier(0.95,0.05,0.795,0.035)]"> <!-- ... --> </div>
Learn more about arbitrary value support in the arbitrary values documentation.
© 2022 Tailwind Labs Inc.
https://tailwindcss.com/docs/transition-timing-function