
Security News
ESLint Adds Official Support for Linting HTML
ESLint now supports HTML linting with 48 new rules, expanding its language plugin system to cover more of the modern web development stack.
tailwindcss-animate
Advanced tools
tailwindcss-animate
A Tailwind CSS plugin for creating beautiful animations.
<!-- Add an animated fade and zoom entrance -->
<div class="animate-in fade-in zoom-in">...</div>
<!-- Add an animated slide to top-left exit -->
<div class="animate-out slide-out-to-top slide-out-to-left">...</div>
<!-- Control animation duration -->
<div class="... duration-300">...</div>
<!-- Control animation delay -->
<div class="... delay-150">...</div>
<!-- And so much more! -->
Install the plugin from npm:
npm install -D tailwindcss-animate
Then add the plugin to your tailwind.config.js
file:
// @filename tailwind.config.js
module.exports = {
theme: {
// ...
},
plugins: [
require("tailwindcss-animate"),
// ...
],
}
Use the delay-{amount}
utilities to control an element’s animation-delay
.
<button class="animate-bounce delay-150 duration-300 ...">Button A</button>
<button class="animate-bounce delay-300 duration-300 ...">Button B</button>
<button class="animate-bounce delay-700 duration-300 ...">Button C</button>
Learn more in the animation delay documentation.
Use the direction-{keyword}
utilities to control an element’s animation-delay
.
<button class="animate-bounce direction-normal ...">Button A</button>
<button class="animate-bounce direction-reverse ...">Button B</button>
<button class="animate-bounce direction-alternate ...">Button C</button>
<button class="animate-bounce direction-alternate-reverse ...">Button C</button>
Learn more in the animation direction documentation.
Use the duration-{amount}
utilities to control an element’s animation-duration
.
<button class="animate-bounce duration-150 ...">Button A</button>
<button class="animate-bounce duration-300 ...">Button B</button>
<button class="animate-bounce duration-700 ...">Button C</button>
Learn more in the animation duration documentation.
Use the fill-mode-{keyword}
utilities to control an element’s animation-fill-mode
.
<button class="animate-bounce fill-mode-none ...">Button A</button>
<button class="animate-bounce fill-mode-forwards ...">Button B</button>
<button class="animate-bounce fill-mode-backwards ...">Button C</button>
<button class="animate-bounce fill-mode-both ...">Button C</button>
Learn more in the animation fill mode documentation.
Use the repeat-{amount}
utilities to control an element’s animation-iteration-count
.
<button class="animate-bounce repeat-0 ...">Button A</button>
<button class="animate-bounce repeat-1 ...">Button B</button>
<button class="animate-bounce repeat-infinite ...">Button C</button>
Learn more in the animation iteration count documentation.
Use the running
and paused
utilities to control an element’s animation-play-state
.
<button class="animate-bounce running ...">Button B</button>
<button class="animate-bounce paused ...">Button A</button>
Learn more in the animation play state documentation.
Use the ease-{keyword}
utilities to control an element’s animation-timing-function
.
<button class="animate-bounce ease-linear ...">Button A</button>
<button class="animate-bounce ease-in ...">Button B</button>
<button class="animate-bounce ease-out ...">Button C</button>
<button class="animate-bounce ease-in-out ...">Button C</button>
Learn more in the animation timing function documentation.
For situations where the user has specified that they prefer reduced motion, you can conditionally apply animations and transitions using the motion-safe
and motion-reduce
variants:
<button class="motion-safe:animate-bounce ...">Button B</button>
To give an element an enter animation, use the animate-in
utility, in combination with some fade-in
, spin-in
, zoom-in
, and slide-in-from
utilities.
<button class="animate-in fade-in ...">Button A</button>
<button class="animate-in spin-in ...">Button B</button>
<button class="animate-in zoom-in ...">Button C</button>
<button class="animate-in slide-in-from-top ...">Button D</button>
<button class="animate-in slide-in-from-left ...">Button E</button>
Learn more in the enter animation documentation.
To give an element an exit animation, use the animate-out
utility, in combination with some fade-out
, spin-out
, zoom-out
, and slide-out-from
utilities.
<button class="animate-out fade-out ...">Button A</button>
<button class="animate-out spin-out ...">Button B</button>
<button class="animate-out zoom-out ...">Button C</button>
<button class="animate-out slide-out-from-top ...">Button D</button>
<button class="animate-out slide-out-from-left ...">Button E</button>
Learn more in the exit animation documentation.
Set the starting opacity of an animation using the fade-in-{amount}
utilities.
<button class="animate-in fade-in ...">Button A</button>
<button class="animate-in fade-in-25 ...">Button B</button>
<button class="animate-in fade-in-50 ...">Button C</button>
<button class="animate-in fade-in-75 ...">Button C</button>
Learn more in the enter animation opacity documentation.
Set the starting rotation of an animation using the spin-in-{amount}
utilities.
<button class="animate-in spin-in-1 ...">Button A</button>
<button class="animate-in spin-in-6 ...">Button B</button>
<button class="animate-in spin-in-75 ...">Button C</button>
<button class="animate-in spin-in-90 ...">Button C</button>
Learn more in the enter animation rotate documentation.
Set the starting scale of an animation using the zoom-in-{amount}
utilities.
<button class="animate-in zoom-in ...">Button A</button>
<button class="animate-in zoom-in-50 ...">Button B</button>
<button class="animate-in zoom-in-75 ...">Button C</button>
<button class="animate-in zoom-in-95 ...">Button C</button>
Learn more in the enter animation scale documentation.
Set the starting translate of an animation using the slide-in-from-{direction}-{amount}
utilities.
<button class="animate-in slide-in-from-top ...">Button A</button>
<button class="animate-in slide-in-from-bottom-48 ...">Button B</button>
<button class="animate-in slide-in-from-left-72 ...">Button C</button>
<button class="animate-in slide-in-from-right-96 ...">Button C</button>
Learn more in the enter animation translate documentation.
Set the ending opacity of an animation using the fade-out-{amount}
utilities.
<button class="animate-out fade-out ...">Button A</button>
<button class="animate-out fade-out-25 ...">Button B</button>
<button class="animate-out fade-out-50 ...">Button C</button>
<button class="animate-out fade-out-75 ...">Button C</button>
Learn more in the exit animation opacity documentation.
Set the ending rotation of an animation using the spin-out-{amount}
utilities.
<button class="animate-out spin-out-1 ...">Button A</button>
<button class="animate-out spin-out-6 ...">Button B</button>
<button class="animate-out spin-out-75 ...">Button C</button>
<button class="animate-out spin-out-90 ...">Button C</button>
Learn more in the exit animation rotate documentation.
Set the ending scale of an animation using the zoom-out-{amount}
utilities.
<button class="animate-out zoom-out ...">Button A</button>
<button class="animate-out zoom-out-50 ...">Button B</button>
<button class="animate-out zoom-out-75 ...">Button C</button>
<button class="animate-out zoom-out-95 ...">Button C</button>
Learn more in the exit animation scale documentation.
Set the ending translate of an animation using the slide-out-to-{direction}-{amount}
utilities.
<button class="animate-out slide-out-to-top ...">Button A</button>
<button class="animate-out slide-out-to-bottom-48 ...">Button B</button>
<button class="animate-out slide-out-to-left-72 ...">Button C</button>
<button class="animate-out slide-out-to-right-96 ...">Button C</button>
Learn more in the exit animation translate documentation.
FAQs
A Tailwind CSS plugin for creating beautiful animations.
We found that tailwindcss-animate demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint now supports HTML linting with 48 new rules, expanding its language plugin system to cover more of the modern web development stack.
Security News
CISA is discontinuing official RSS support for KEV and cybersecurity alerts, shifting updates to email and social media, disrupting automation workflows.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.