Tailwind CSS ease-in-out Class
The ease-in-out utility class generates the following CSS when applied to an element.
CSS Output
.ease-in-out {
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}Variants
Use these variant prefixes to apply ease-in-out conditionally:
Use It
<button class="transition-all ease-in-out duration-200 hover:scale-105 hover:shadow-lg px-4 py-2 rounded">
Natural easing on hover
</button>Understanding ease-in-out
The Tailwind CSS ease-in-out utility applies transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); to an element when added to its class attribute. It starts and ends the animation slowly with faster motion in the middle. The default and most natural-feeling easing curve for general UI transitions.
This utility is part of Tailwind's Transitions module, designed for adding smooth CSS transitions with configurable duration, timing, and property targeting. In Tailwind's utility-first workflow, you add ease-in-out directly to your HTML elements rather than writing custom CSS. This approach accelerates development and keeps styles co-located with your markup, making it easy to see exactly how each element is styled at a glance.
Common responsive variants include sm:ease-in-out, md:ease-in-out, lg:ease-in-out, and xl:ease-in-out, allowing different behavior at each breakpoint. State variants like hover:ease-in-out and focus:ease-in-out enable interactive styling without any JavaScript. You can also combine multiple variants for fine-grained control over when the utility applies.
This class works well alongside `ease-in`, `ease-out`, `ease-linear`, `duration-300` to build complete, production-ready interfaces. Tailwind's tree-shaking ensures only utilities you actually use appear in your final CSS bundle, keeping file sizes minimal. Browser support for the underlying CSS is excellent across Chrome, Firefox, Safari, and Edge.
Related Classes
Explore More Tailwind Classes
Browse our complete reference of 321 Tailwind CSS utility classes with CSS output, variants, and examples.