Motion
Summary
Two families of motion utilities: duration-* sets how long a transition runs, and ease-*
the curve it follows. A transition that names neither runs on one default for each.
Inherited from Tailwind v4 defaults, not yet a pmndrs decision. See Tailwind's transition-duration docs.
Defaults
A transition-* utility (transition, transition-colors, transition-transform…) without a
duration-* or an ease-* runs on these two theme variables:
The default curve is the one ease-in-out sets.
Duration
duration-* sets transition-duration in milliseconds: duration-300 is 300ms. No theme
variable stands behind it, so any number works, not only the steps below: duration-250 is
250ms. Use brackets for another unit (duration-[2s]).
Hover the panel to run every step at once, on the default curve:
duration-0duration-75duration-100duration-150duration-200duration-300duration-500duration-700duration-1000Easing
ease-* sets transition-timing-function, from the --ease-* theme variables. See
Tailwind's transition-timing-function docs.
ease-in starts slow, so it suits an element leaving the screen. ease-out ends slow, so it
suits an element arriving. ease-in-out suits an element that moves from one place to another.
Hover the panel to run every curve at once, over duration-1000:
ease-linearease-inease-outease-in-outReduced motion
Prefix a utility with motion-reduce: to drop a transition for people who ask their system for
less motion: motion-reduce:transition-none. The previews above do.