animate.css/README.md

193 lines
5.0 KiB
Markdown
Raw Normal View History

2011-12-14 11:14:22 +01:00
#Animate.css
*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.
2014-09-08 17:16:31 +02:00
##Basic Usage
1. Include the stylesheet on your document's `<head>`
```html
<head>
<link rel="stylesheet" href="animate.min.css">
</head>
```
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
* `bounce`
* `flash`
* `pulse`
* `rubberBand`
* `shake`
* `headShake`
2014-09-08 17:16:31 +02:00
* `swing`
* `tada`
* `wobble`
* `jello`
2014-09-08 17:16:31 +02:00
* `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`
* `rollIn`
* `rollOut`
* `zoomIn`
* `zoomInDown`
* `zoomInLeft`
* `zoomInRight`
* `zoomInUp`
* `zoomOut`
* `zoomOutDown`
* `zoomOutLeft`
* `zoomOutRight`
* `zoomOutUp`
* `slideInDown`
* `slideInLeft`
* `slideInRight`
* `slideInUp`
* `slideOutDown`
* `slideOutLeft`
* `slideOutRight`
* `slideOutUp`
Full example:
```html
<h1 class="animated infinite bounce">Example</h1>
```
[Check out all the animations here!](https://daneden.github.io/animate.css/)
2011-12-14 11:14:22 +01:00
##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!
```html
<head>
<link rel="stylesheet" href="animate.min.css">
</head>
```
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:
```javascript
2011-12-14 11:14:22 +01:00
$('#yourElement').addClass('animated bounceOutLeft');
```
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/
-->
```javascript
$('#yourElement').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', doSomething);
```
[View a video tutorial](https://www.youtube.com/watch?v=CBQGl6zokMs) on how to use Animate.css with jQuery here.
**Note:** `jQuery.one()` is used when you want to execute the event handler at most *once*. More information [here](http://api.jquery.com/one/).
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';
$(this).addClass('animated ' + animationName).one(animationEnd, function() {
$(this).removeClass('animated ' + animationName);
});
}
});
```
And use it like this:
```javascript
$('#yourElement').animateCss('bounce');
```
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 {
-vendor-animation-duration: 3s;
-vendor-animation-delay: 2s;
-vendor-animation-iteration-count: infinite;
2011-12-14 11:14:22 +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
## 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, youll need Gulp and all other dependencies:
2014-02-04 08:51:08 +01:00
```sh
$ cd path/to/animate.css/
$ sudo npm install
```
2015-12-19 12:59:57 +01:00
Next, run `gulp` to compile your custom builds. For example, if you want only some of the the “attention seekers”, simply edit the `animate-config.json` file to select only the animations you want to use.
```javascript
"attention_seekers": {
"bounce": true,
"flash": false,
"pulse": false,
"shake": true,
"headShake": true,
"swing": true,
"tada": true,
"wobble": true,
"jello":true
}
```
## License
Animate.css is licensed under the MIT license. (http://opensource.org/licenses/MIT)
## 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.