Skip to content

Repository files navigation

Animate.css GitHub releaseCDNJSBuild StatusdevDependencies Statuschatnpm version

We need your help! animate.css v4 is in the work with lots of improvements and some breaking changes, including CSS custom properties support (aka CSS variables) and classes prefix for a safer use. We need your feedback! You can follow the development on the dev branch and give your feedback on the issue tracker. Every feedback is welcome!

Just-add-water CSS animation

animate.css is a bunch of cool, fun, and cross-browser animations for you to use in your projects. Great for emphasis, home pages, sliders, and general just-add-water-awesomeness.

Installation

Install via npm:

$ npm install animate.css --save

or yarn:

$ yarn add animate.css

Usage

To use animate.css in your website, simply drop the stylesheet into your document's <head>, and add the class animated to an element, along with any of the animation names. That's it! You've got a CSS animated element. Super!

<head><linkrel="stylesheet" href="animate.min.css"></head>

or use a CDN hosted version by CDNJS

<head><linkrel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.7.2/animate.min.css"></head>

Animations

To animate an element, add the class animated to an element. You can include the class infinite for an infinite loop. Finally you need to add one of the following classes to the element:

Class Name
bounceflashpulserubberBand
shakeheadShakeswingtada
wobblejellobounceInbounceInDown
bounceInLeftbounceInRightbounceInUpbounceOut
bounceOutDownbounceOutLeftbounceOutRightbounceOutUp
fadeInfadeInDownfadeInDownBigfadeInLeft
fadeInLeftBigfadeInRightfadeInRightBigfadeInUp
fadeInUpBigfadeOutfadeOutDownfadeOutDownBig
fadeOutLeftfadeOutLeftBigfadeOutRightfadeOutRightBig
fadeOutUpfadeOutUpBigflipInXflipInY
flipOutXflipOutYlightSpeedInlightSpeedOut
rotateInrotateInDownLeftrotateInDownRightrotateInUpLeft
rotateInUpRightrotateOutrotateOutDownLeftrotateOutDownRight
rotateOutUpLeftrotateOutUpRighthingejackInTheBox
rollInrollOutzoomInzoomInDown
zoomInLeftzoomInRightzoomInUpzoomOut
zoomOutDownzoomOutLeftzoomOutRightzoomOutUp
slideInDownslideInLeftslideInRightslideInUp
slideOutDownslideOutLeftslideOutRightslideOutUp
heartBeat

Full example:

<h1class="animated infinite bounce delay-2s">Example</h1>

Check out all the animations here!

It's possible to change the duration of your animations, add a delay or change the number of times that it plays:

.yourElement {
animation-duration:3s;
animation-delay:2s;
animation-iteration-count: infinite;
}

Usage with Javascript

You can do a whole bunch of other stuff with animate.css when you combine it with Javascript. A simple example:

constelement=document.querySelector('.my-element')element.classList.add('animated','bounceOutLeft')

You can also detect when an animation ends:

constelement=document.querySelector('.my-element')element.classList.add('animated','bounceOutLeft')element.addEventListener('animationend',function(){doSomething()})

You can use this simple function to add and remove the animations:

functionanimateCSS(element,animationName,callback){constnode=document.querySelector(element)node.classList.add('animated',animationName)functionhandleAnimationEnd(){node.classList.remove('animated',animationName)node.removeEventListener('animationend',handleAnimationEnd)if(typeofcallback==='function')callback()}node.addEventListener('animationend',handleAnimationEnd)}

And use it like this:

animateCSS('.my-element','bounce')// oranimateCSS('.my-element','bounce',function(){// Do something after animation})

Notice that the examples are using ES6's const declaration, dropping support for IE10 and some aging browsers. If you prefer, switch the const to var declarations and IE10 and some old browsers will get support (they still have to provide classList support, so do your research).

Setting Delay and Speed

Delay Class

It's possible to add delays directly on the element's class attribute, just like this:

<divclass="animated bounce delay-2s">Example</div>
Class NameDelay Time
delay-1s1s
delay-2s2s
delay-3s3s
delay-4s4s
delay-5s5s

Note: The default delays are from 1 second to 5 seconds only. If you need custom delays, add it directly to your own CSS code.

Slow, Slower, Fast, and Faster Class

It's possible to control the speed of the animation by adding these classes, as a sample below:

<divclass="animated bounce faster">Example</div>
Class NameSpeed Time
slow2s
slower3s
fast800ms
faster500ms

Note: The animated class has a default speed of 1s. If you need custom duration, add it directly to your own CSS code.

Custom Builds

Animate.css is powered by gulp.js, which means you can create custom builds pretty easily. First of all, you’ll need Gulp and all other dependencies:

$ cd path/to/animate.css/
$ npm install

Next, run npx gulp to compile your custom builds. For example, if you want only some of the “attention seekers”, simply edit the animate-config.json file to select only the animations you want to use.

"attention_seekers": {"bounce": true,"flash": false,"pulse": false,"shake": true,"headShake": true,"swing": true,"tada": true,"wobble": true,"jello":true}

Accessibility

Animate.css supports the prefers-reduced-motion media query so that users with motion sensitivity can opt out of animations. On supported platforms (currently all the majors browsers and OS), users can select "reduce motion" on their operating system preferences and it will turn off CSS transitions for them without any further work required.

License

Animate.css is licensed under the MIT license. (https://opensource.org/licenses/MIT)

Code of Conduct

This project and everyone participating in it is governed by the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to callmeelton@gmail.com.

Contributing

Pull requests are the way to go here. We only have two rules for submitting a pull request: match the naming convention (camelCase, categorised [fades, bounces, etc]) and let us see a demo of submitted animations in a pen. That last one is important.

About

🍿 A cross-browser library of CSS animations. As easy to use as an easy thing.

Resources

Code of conduct

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages