2017-07-09 18:28:40 +02:00
# Animate.css [![GitHub release](https://img.shields.io/github/release/daneden/animate.css.svg)](https://github.com/daneden/animate.css/releases) [![Build Status](https://travis-ci.org/WarenGonzaga/animate.css.svg?branch=master)](https://travis-ci.org/WarenGonzaga/animate.css) [![devDependencies Status](https://david-dm.org/WarenGonzaga/animate.css/dev-status.svg)](https://david-dm.org/WarenGonzaga/animate.css?type=dev) [![chat](https://img.shields.io/badge/chat-gitter-green.svg)](https://gitter.im/animate-css/Lobby)
2016-09-26 08:54:03 +02:00
*Just-add-water CSS animation*
2011-12-14 11:14:22 +01:00
`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.
2016-03-12 10:22:48 +01:00
## Installation
To install via Bower, simply do the following:
```bash
$ bower install animate.css --save
```
2016-06-08 11:00:41 +02:00
or you can install via npm:
```bash
$ npm install animate.css --save
```
2016-03-12 10:22:48 +01:00
2017-07-09 18:28:40 +02:00
## Basic Usage
2014-09-08 17:16:31 +02:00
1. Include the stylesheet on your document's `<head>`
```html
< head >
< link rel = "stylesheet" href = "animate.min.css" >
< / head >
```
2016-08-29 04:17:30 +02:00
or use the version hosted by [CDNJS ](https://cdnjs.com/libraries/animate.css )
2016-04-30 03:52:10 +02:00
```html
< head >
2016-08-29 04:01:48 +02:00
< link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css" >
2016-04-30 03:52:10 +02:00
< / head >
```
2014-09-08 17:16:31 +02:00
2. Add the class `animated` to the element you want to animate.
You may also want to include the class `infinite` for an infinite loop.
2015-02-21 16:52:26 +01:00
3. Finally you need to add one of the following classes:
2014-09-08 17:16:31 +02:00
2017-07-09 18:57:57 +02:00
| Class Name |
|--------------------|
| `bounce` |
| `flash` |
| `pulse` |
| `rubberBand` |
| `shake` |
| `headShake` |
| `swing` |
| `tada` |
| `wobble` |
| `jello` |
| `bounceIn` |
| `bounceInDown` |
| `bounceInLeft` |
| `bounceInRight` |
| `bounceInUp` |
| `bounceOut` |
| `bounceOutDown` |
| `bounceOutLeft` |
| `bounceOutRight` |
| `bounceOutUp` |
| `fadeIn` |
| `fadeInDown` |
| `fadeInDownBig` |
| `fadeInLeft` |
| `fadeInLeftBig` |
| `fadeInRight` |
| `fadeInRightBig` |
| `fadeInUp` |
| `fadeInUpBig` |
| `fadeOut` |
| `fadeOutDown` |
| `fadeOutDownBig` |
| `fadeOutLeft` |
| `fadeOutLeftBig` |
| `fadeOutRight` |
| `fadeOutRightBig` |
| `fadeOutUp` |
| `fadeOutUpBig` |
| `flipInX` |
| `flipInY` |
| `flipOutX` |
| `flipOutY` |
| `lightSpeedIn` |
| `lightSpeedOut` |
| `rotateIn` |
| `rotateInDownLeft` |
| `rotateInDownRight` |
| `rotateInUpLeft` |
| `rotateInUpRight` |
| `rotateOut` |
| `rotateOutDownLeft` |
| `rotateOutDownRight` |
| `rotateOutUpLeft` |
| `rotateOutUpRight` |
| `hinge` |
| `jackInTheBox` |
| `rollIn` |
| `rollOut` |
| `zoomIn` |
| `zoomInDown` |
| `zoomInLeft` |
| `zoomInRight` |
| `zoomInUp` |
| `zoomOut` |
| `zoomOutDown` |
| `zoomOutLeft` |
| `zoomOutRight` |
| `zoomOutUp` |
| `slideInDown` |
| `slideInLeft` |
| `slideInRight` |
| `slideInUp` |
| `slideOutDown` |
| `slideOutLeft` |
| `slideOutRight` |
| `slideOutUp` |
2014-09-08 17:16:31 +02:00
Full example:
```html
< h1 class = "animated infinite bounce" > Example< / h1 >
```
2015-08-01 12:23:18 +02:00
[Check out all the animations here! ](https://daneden.github.io/animate.css/ )
2017-07-09 18:29:16 +02:00
## Usage
2011-12-14 11:14:22 +01:00
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!
2013-11-12 00:32:40 +01:00
```html
< head >
2014-02-23 22:56:08 +01:00
< link rel = "stylesheet" href = "animate.min.css" >
2013-11-12 00:32:40 +01:00
< / head >
```
2016-08-29 04:17:30 +02:00
or use the version hosted by [CDNJS ](https://cdnjs.com/libraries/animate.css )
2016-04-30 03:52:10 +02:00
```html
< head >
2016-08-29 04:17:30 +02:00
< link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css" >
2016-04-30 03:52:10 +02:00
< / head >
```
2013-11-12 00:32:40 +01:00
2011-12-14 11:14:22 +01:00
You can do a whole bunch of other stuff with animate.css when you combine it with jQuery or add your own CSS rules. Dynamically add animations using jQuery with ease:
2012-09-13 20:23:26 +02:00
```javascript
2011-12-14 11:14:22 +01:00
$('#yourElement').addClass('animated bounceOutLeft');
```
2013-11-23 22:47:23 +01:00
You can also detect when an animation ends:
2014-02-25 16:48:53 +01:00
<!--
Before you make changes to this file, you should know that $('#yourElement').one() is *NOT A TYPO*
http://api.jquery.com/one/
-->
2013-11-23 22:47:23 +01:00
```javascript
2014-03-07 18:40:08 +01:00
$('#yourElement').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', doSomething);
2013-11-23 22:47:23 +01:00
```
2016-06-08 11:00:41 +02:00
[View a video tutorial ](https://www.youtube.com/watch?v=CBQGl6zokMs ) on how to use Animate.css with jQuery here.
2014-11-11 22:18:24 +01:00
2014-09-03 15:46:18 +02:00
**Note:** `jQuery.one()` is used when you want to execute the event handler at most *once* . More information [here ](http://api.jquery.com/one/ ).
2014-04-06 21:00:20 +02:00
2016-02-03 18:16:51 +01:00
You can also extend jQuery to add a function that does it all for you:
```javascript
$.fn.extend({
animateCss: function (animationName) {
var animationEnd = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend';
2016-07-04 15:22:42 +02:00
this.addClass('animated ' + animationName).one(animationEnd, function() {
2016-02-03 18:16:51 +01:00
$(this).removeClass('animated ' + animationName);
});
2017-07-09 18:57:11 +02:00
return this;
2016-02-03 18:16:51 +01:00
}
});
```
And use it like this:
```javascript
$('#yourElement').animateCss('bounce');
```
2013-11-23 22:47:23 +01:00
You can change the duration of your animations, add a delay or change the number of times that it plays:
2011-12-14 11:14:22 +01:00
2012-09-13 17:43:41 +02:00
```css
2011-12-21 09:41:10 +01:00
#yourElement {
2014-02-23 22:56:08 +01:00
-vendor-animation-duration: 3s;
-vendor-animation-delay: 2s;
-vendor-animation-iteration-count: infinite;
2011-12-14 11:14:22 +01:00
}
```
2013-11-23 22:47:23 +01:00
*Note: be sure to replace "vendor" in the CSS with the applicable vendor prefixes (webkit, moz, etc)*
2011-12-14 11:14:22 +01:00
2013-11-12 00:32:40 +01:00
## Custom Builds
2015-12-19 12:59:57 +01:00
Animate.css is powered by [gulp.js ](http://gulpjs.com/ ), and you can create custom builds pretty easily. First of all, you’ ll need Gulp and all other dependencies:
2012-07-20 08:57:12 +02:00
2014-02-04 08:51:08 +01:00
```sh
2013-11-12 00:32:40 +01:00
$ cd path/to/animate.css/
$ sudo npm install
```
2012-07-20 08:57:12 +02:00
2016-03-22 14:27:37 +01:00
Next, run `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.
2012-07-20 08:57:12 +02:00
2013-11-12 00:32:40 +01:00
```javascript
2013-11-23 22:47:23 +01:00
"attention_seekers": {
"bounce": true,
"flash": false,
"pulse": false,
"shake": true,
2015-09-21 22:15:35 +02:00
"headShake": true,
2013-11-23 22:47:23 +01:00
"swing": true,
"tada": true,
2015-04-29 16:57:54 +02:00
"wobble": true,
"jello":true
2013-11-12 00:32:40 +01:00
}
```
2013-01-07 17:45:57 +01:00
2013-11-12 00:32:40 +01:00
## License
Animate.css is licensed under the MIT license. (http://opensource.org/licenses/MIT)
2013-01-07 17:45:57 +01:00
2013-11-12 00:32:40 +01:00
## Contributing
2014-02-04 08:51:08 +01:00
Pull requests are the way to go here. I apologise in advance for the slow action on pull requests and issues. I 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 ](http://codepen.io ). That last one is important.