vue2-animate for Vue.js 2
Cross-browser CSS3 animation library
A Vue.js port of Animate.css. For use with Vue's built-in transitions. | DEMO
Credit
- @haydenbbickerton is the origin vue-animate (LESS) author (Only for Vue 1.x).
- @pavels-hyuna is SCSS version author.
I'm just project maintainer, any changes or request please open a Pull-Request.
Table of Content
- Table of Content
- Installation
- SASS/SCSS
- Less
- Building
- Usage
- Supported Animations
- License
- Contributing
Installation
HTML
Include the stylesheet:
Include by CDN:
NPM / Yarn
If you're on webpack and using the css-loader, you can use something like this:
npm install --save vue2-animate # OR yarn add vue2-animate
SASS/SCSS
; // specify animation duration. Default value: 1s ;
Less
"<PATH_TO_SOURCE>/src/less/vue2-animate.less";
NOTE LESS version is deprecated and no-longer maintained. Use SCSS version for your new project.
Building
git clone https://github.com/asika32764/vue2-animate.gitcd vue2-animatenpm installnpm run build #Compiled .css files go to the dist folder.
You are able to build LESS version with command npm run build:less
.
Usage
Use Vue.js transitions as you normally would, but for the transition name you will use one of Animate.css animations removing the In/Out from the name.
For example, if I want to use fadeInLeft and fadeOutLeft on my element, I'll write:
{{ item }}
enter/leave is already written in the stylesheet, so just remove In/Out from the name and you're golden.
Custom Transition Classes
Animate.css's original classnames are supported on enter/leave transitions. So if you're going to use Custom Transition Classes, you can either add -enter/-leave to the classes:
hello
Or use the regular In/Out syntax:
hello
Custom Animation Duration
hello
Slide like Mobile
The view element must set position as absolute.
<transition
enter-active-class="animated slideInRight"
leave-active-class="animated slideOutLeft">
<router-view appear :key="path"></router-view>
</transition>
Supported Animations
Not all Animate.css animations are supported at the moment. Here is a list of what's in vue2-animate (aka - what you can put in the transition="x" attribute) as of right now:
Bounce
bounce
bounceDown
bounceLeft
bounceRight
bounceUp
Fade
fade
fadeDown
fadeDownBig
fadeLeft
fadeLeftBig
fadeRight
fadeRightBig
fadeUp
fadeUpBig
Flip
flip
flipX
flipY
Rotate
rotate
rotateDownLeft
rotateDownRight
rotateUpLeft
rotateUpRight
Slide
slideDown
slideLeft
slideRight
slideUp
Zoom
zoom
zoomDown
zoomLeft
zoomRight
zoomUp
LightSpeed
lightSpeed