Animate.less
Cross-browser CSS3 animation library
If you're a web hipster, and you're already using Twitter's Bootstrap like a whore, you're gonna love this.
animate.less
, originally created by Dan Eden, is a bunch of cool, fun, and cross-browser animations converted into LESS for you to use in your Bootstrap projects. Great for emphasis, home pages, sliders, and general just-add-water-awesomeness.
Usage
Files
animate.css
is 64kb and animate.min.css
is 48kb.
Getting a Copy
You can use bower, npm, or download a zip.
bower
bower --save install animate.less
npm
npm --save install animate.less
Bootstrap/LESS
To use animate.less in your Bootstrap project, simply add the line below into bootstrap.less
:
@import "<PATH_TO_SOURCE>/animate.less";
Inside your HTML
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!
For example:
<h1 id="logo" class="animated fadeIn">...</h1>
Inside your stylesheet
Since we're using LESS, we can utilize our animation library by adding .animated
and any of the many animation names as classes.
For example:
h1#logo {
float: left;
font-family: 'Cubano', sans-serif;
font-weight: normal;
font-size: 3.5em;
text-transform: uppercase;
padding: 0;
margin: 0;
.animated; // Initiate animation library
.bounce; // Initiate bounce effect
}
Note: if you're having issues, try re-compiling bootstrap.less
for changes to take effect.
Extending with jQuery
You can add more functionality to your animations with jQuery such as below:
$("#logo").addClass('animated bounceOutLeft');
We can also bind these classes with events or triggers like below:
$(document).ready(function(){
$("#logo").click(function() {
$("this").addClass("animated bounceOutLeft");
});
});
Editing an animation effect
You can
- change the duration of your animations with the LESS varible
@animationDurationTime
- extend the delay with LESS varible
@animationDelayTime
- change the animation fill mode with the LESS variable
@animationFillMode
or - change the number of times that it plays.
If you do edit an animation effect, make sure you change them cross-browser.
#logo {
-vendor-animation-duration: 3s; // Change to Webkit, Mozilla, Opera, etc.
-vendor-animation-delay: 2s;
-vendor-animation-iteration-count: infinite;
animation-duration 3s; // Default
animation-delay: 2s; // Default
animation-iteration-count: infinite; // Default
}
Note: be sure to replace "vendor" in the CSS with the applicable vendor prefixes (webkit, moz, ms, o).
Note: Safari in Mountain Lion (OS X 10.8) has a display glitch with the Flippers. They may not appear at all until the animation is completed, or the page may have other artifacting. One fix is to add overflow: hidden to the parent div.
Build a custom library
Head over to http://daneden.me/animate/build/ to select which animations you need. This will download a .css file, so just rename it to .less and use as described above.
You can also pick & choose which LESS files in your own LESS, just set the variables & import stuff (see animate.less for example):
@animationDurationTime: 0.5s;
@animationDelayTime: 0s;
@animationFillMode: both;
@animationLessLocation: '../node_modules/animate.less/source';
@import "@{animationLessLocation}/animated.less";
@import "@{animationLessLocation}/bounce.less";
@import "@{animationLessLocation}/bounceIn.less";
@import "@{animationLessLocation}/bounceInDown.less";
@import "@{animationLessLocation}/bounceInLeft.less";
@import "@{animationLessLocation}/bounceInRight.less";
@import "@{animationLessLocation}/bounceInUp.less";
@import "@{animationLessLocation}/bounceOut.less";
@import "@{animationLessLocation}/bounceOutDown.less";
@import "@{animationLessLocation}/bounceOutLeft.less";
@import "@{animationLessLocation}/bounceOutRight.less";
@import "@{animationLessLocation}/bounceOutUp.less";
Live demo
View the animation library in action over at http://daneden.me/animate/.
Browser Support
Since we're using CSS3 here, we're limited to only modern browsers like Chrome, Safari, Mozilla, and Opera.
License
Animate.css is licensed under the
Future Development
I'll shortly be compiling an animation-library.less
which will allow you to pick and choose which effects you need in your project.
Down the line, IE8/9 support hopefully.
Learn more
You can learn more about animate.css over at http://daneden.me/animate and Twitter Bootstrap over at http://getbootstrap.com/
Cheat Sheet
Attention seekers:
flash bounce shake tada swing wobble wiggle pulse
Flippers (currently Webkit, Firefox, & IE10 only):
flip flipInX flipOutX flipInY flipOutY
Fading entrances:
fadeIn fadeInUp fadeInDown fadeInLeft fadeInRight fadeInUpBig fadeInDownBig fadeInLeftBig fadeInRightBig
Fading exits:
fadeOut fadeOutUp fadeOutDown fadeOutLeft fadeOutRight fadeOutUpBig fadeOutDownBig fadeOutLeftBig fadeOutRightBig
Bouncing entrances:
bounceIn bounceInDown bounceInUp bounceInLeft bounceInRight
Bouncing exits:
bounceOut bounceOutDown bounceOutUp bounceOutLeft bounceOutRight
Rotating entrances:
rotateIn rotateInDownLeft rotateInDownRight rotateInUpLeft rotateInUpRight
Rotating exits:
rotateOut rotateOutDownLeft rotateOutDownRight rotateOutUpLeft rotateOutUpRight
Lightspeed:
lightSpeedIn lightSpeedOut
Specials:
hinge rollIn rollOut
Development
- Type
npm install
to install the dev tools. - Type
npm run build
to build the CSS files. Check outpackage.json
to see how to add these tools to your own LESS-based project.