Merge pull request #165 from sarbbottam/master

Unified formatting and refactored Gruntfile.js
This commit is contained in:
Daniel Eden 2014-03-07 08:32:33 -08:00
commit 09338c7304
69 changed files with 847 additions and 699 deletions

2
.gitignore vendored
View File

@ -1,3 +1,3 @@
.sass-cache
node_modules/
.DS_Store
.DS_Store

View File

@ -2,79 +2,78 @@ module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
pkg: grunt.file.readJSON('package.json'),
var concatAnim;
grunt.initConfig({
// Concatenate CSS files
pkg: grunt.file.readJSON('package.json'),
concat: {
dist: {
src: [
// _base.css required for .animated helper class
'source/_base.css',
'source/**/*.css'
],
src: [ 'source/_base.css', 'source/**/*.css' ], // _base.css required for .animated helper class
dest: 'animate.css'
}
},
// Auto-prefix CSS properties using Can I Use?
autoprefixer: {
autoprefixer: { // https://github.com/nDmitry/grunt-autoprefixer
options: {
browsers: ['last 3 versions', 'bb 10', 'android 3']
},
no_dest: {
// File to output
src: 'animate.css'
},
src: 'animate.css' // output file
}
},
// Minify CSS
cssmin: {
minify: {
src: ['animate.css'],
dest: 'animate.min.css',
},
}
},
// Watch files for changes
watch: {
css: {
files: [
'source/**/*',
'!node_modules',
'animate-config.json'
],
// Run Sass, autoprefixer, and CSSO
tasks: ['concat-anim', 'autoprefixer', 'cssmin'],
files: [ 'source/**/*', 'animate-config.json' ],
tasks: ['default']
}
}
});
// Register our tasks
grunt.registerTask('default', ['concat-anim', 'autoprefixer', 'cssmin', 'watch']);
// fuction to perform custom task
concatAnim = function () {
grunt.registerTask('concat-anim', 'Concatenates activated animations', function () {
var config = grunt.file.readJSON('animate-config.json'),
target = [ 'source/_base.css' ],
count = 0
var categories = grunt.file.readJSON('animate-config.json'),
category, files, file,
target = [ 'source/_base.css' ],
count = 0;
for (var cat in config) {
for (var file in config[cat]) {
if (config[cat][file]) {
target.push('source/' + cat + '/' + file + '.css')
count++
for ( category in categories ) {
if ( categories.hasOwnProperty(category) ) {
files = categories[category]
for (file in files) {
if ( files.hasOwnProperty(file) && files[file] ) {
target.push('source/' + category + '/' + file + '.css');
count += 1;
}
}
}
}
if (!count) {
grunt.log.writeln('No animations activated.')
grunt.log.writeln('No animations activated.');
} else {
grunt.log.writeln(count + (count > 1 ? ' animations' : ' animation') + ' activated.');
}
grunt.log.writeln(count + (count > 1 ? ' animations' : ' animation') + ' activated.')
grunt.config('concat', { 'animate.css': target });
grunt.task.run('concat');
};
// register task
grunt.registerTask('concat-anim', 'Concatenates activated animations', concatAnim); // custom task
grunt.registerTask('default', ['concat-anim', 'autoprefixer', 'cssmin']);
grunt.registerTask('dev', ['watch']);
grunt.config('concat', { 'animate.css': target })
grunt.task.run('concat')
});
};

View File

@ -8,7 +8,7 @@ To use animate.css in your website, simply drop the stylesheet into your documen
```html
<head>
<link rel="stylesheet" href="animate.min.css">
<link rel="stylesheet" href="animate.min.css">
</head>
```
@ -34,9 +34,9 @@ You can change the duration of your animations, add a delay or change the number
```css
#yourElement {
-vendor-animation-duration: 3s;
-vendor-animation-delay: 2s;
-vendor-animation-iteration-count: infinite;
-vendor-animation-duration: 3s;
-vendor-animation-delay: 2s;
-vendor-animation-iteration-count: infinite;
}
```

View File

@ -95,4 +95,4 @@
"rollOut": true
}
}
}

4
animate.css vendored
View File

@ -2661,11 +2661,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
80% {
-webkit-transform: rotate(60deg) translateY(0);
transform: rotate(60deg) translateY(0);
opacity: 1;
-webkit-transform-origin: top left;
transform-origin: top left;
-webkit-animation-timing-function: ease-in-out;
animation-timing-function: ease-in-out;
opacity: 1;
}
100% {
@ -2713,12 +2713,12 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
-webkit-transform: rotate(60deg) translateY(0);
-ms-transform: rotate(60deg) translateY(0);
transform: rotate(60deg) translateY(0);
opacity: 1;
-webkit-transform-origin: top left;
-ms-transform-origin: top left;
transform-origin: top left;
-webkit-animation-timing-function: ease-in-out;
animation-timing-function: ease-in-out;
opacity: 1;
}
100% {

2
animate.min.css vendored

File diff suppressed because one or more lines are too long

View File

@ -18,5 +18,5 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
}
.animated.hinge {
animation-duration: 2s;
}
animation-duration: 2s;
}

View File

@ -1,9 +1,17 @@
@keyframes bounce {
0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
40% {transform: translateY(-30px);}
60% {transform: translateY(-15px);}
0%, 20%, 50%, 80%, 100% {
transform: translateY(0);
}
40% {
transform: translateY(-30px);
}
60% {
transform: translateY(-15px);
}
}
.bounce {
animation-name: bounce;
}
animation-name: bounce;
}

View File

@ -1,8 +1,13 @@
@keyframes flash {
0%, 50%, 100% {opacity: 1;}
25%, 75% {opacity: 0;}
0%, 50%, 100% {
opacity: 1;
}
25%, 75% {
opacity: 0;
}
}
.flash {
animation-name: flash;
}
animation-name: flash;
}

View File

@ -1,11 +1,19 @@
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes pulse {
0% { transform: scale(1); }
50% { transform: scale(1.1); }
100% { transform: scale(1); }
0% {
transform: scale(1);
}
50% {
transform: scale(1.1);
}
100% {
transform: scale(1);
}
}
.pulse {
animation-name: pulse;
}
animation-name: pulse;
}

View File

@ -1,11 +1,25 @@
@keyframes rubberBand {
0% { transform: scale(1); }
30% { transform: scaleX(1.25) scaleY(0.75); }
40% { transform: scaleX(0.75) scaleY(1.25); }
60% { transform: scaleX(1.15) scaleY(0.85); }
100% { transform: scale(1); }
0% {
transform: scale(1);
}
30% {
transform: scaleX(1.25) scaleY(0.75);
}
40% {
transform: scaleX(0.75) scaleY(1.25);
}
60% {
transform: scaleX(1.15) scaleY(0.85);
}
100% {
transform: scale(1);
}
}
.rubberBand {
animation-name: rubberBand;
animation-name: rubberBand;
}

View File

@ -1,9 +1,17 @@
@keyframes shake {
0%, 100% {transform: translateX(0);}
10%, 30%, 50%, 70%, 90% {transform: translateX(-10px);}
20%, 40%, 60%, 80% {transform: translateX(10px);}
0%, 100% {
transform: translateX(0);
}
10%, 30%, 50%, 70%, 90% {
transform: translateX(-10px);
}
20%, 40%, 60%, 80% {
transform: translateX(10px);
}
}
.shake {
animation-name: shake;
}
animation-name: shake;
}

View File

@ -1,12 +1,26 @@
@keyframes swing {
20% { transform: rotate(15deg); }
40% { transform: rotate(-10deg); }
60% { transform: rotate(5deg); }
80% { transform: rotate(-5deg); }
100% { transform: rotate(0deg); }
20% {
transform: rotate(15deg);
}
40% {
transform: rotate(-10deg);
}
60% {
transform: rotate(5deg);
}
80% {
transform: rotate(-5deg);
}
100% {
transform: rotate(0deg);
}
}
.swing {
transform-origin: top center;
animation-name: swing;
}
transform-origin: top center;
animation-name: swing;
}

View File

@ -1,11 +1,25 @@
@keyframes tada {
0% {transform: scale(1);}
10%, 20% {transform: scale(0.9) rotate(-3deg);}
30%, 50%, 70%, 90% {transform: scale(1.1) rotate(3deg);}
40%, 60%, 80% {transform: scale(1.1) rotate(-3deg);}
100% {transform: scale(1) rotate(0);}
0% {
transform: scale(1);
}
10%, 20% {
transform: scale(0.9) rotate(-3deg);
}
30%, 50%, 70%, 90% {
transform: scale(1.1) rotate(3deg);
}
40%, 60%, 80% {
transform: scale(1.1) rotate(-3deg);
}
100% {
transform: scale(1) rotate(0);
}
}
.tada {
animation-name: tada;
}
animation-name: tada;
}

View File

@ -1,15 +1,35 @@
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes wobble {
0% { transform: translateX(0%); }
15% { transform: translateX(-25%) rotate(-5deg); }
30% { transform: translateX(20%) rotate(3deg); }
45% { transform: translateX(-15%) rotate(-3deg); }
60% { transform: translateX(10%) rotate(2deg); }
75% { transform: translateX(-5%) rotate(-1deg); }
100% { transform: translateX(0%); }
0% {
transform: translateX(0%);
}
15% {
transform: translateX(-25%) rotate(-5deg);
}
30% {
transform: translateX(20%) rotate(3deg);
}
45% {
transform: translateX(-15%) rotate(-3deg);
}
60% {
transform: translateX(10%) rotate(2deg);
}
75% {
transform: translateX(-5%) rotate(-1deg);
}
100% {
transform: translateX(0%);
}
}
.wobble {
animation-name: wobble;
}
animation-name: wobble;
}

View File

@ -1,24 +1,24 @@
@keyframes bounceIn {
0% {
opacity: 0;
transform: scale(.3);
}
0% {
opacity: 0;
transform: scale(.3);
}
50% {
opacity: 1;
transform: scale(1.05);
}
50% {
opacity: 1;
transform: scale(1.05);
}
70% {
transform: scale(.9);
}
70% {
transform: scale(.9);
}
100% {
opacity: 1;
transform: scale(1);
}
100% {
opacity: 1;
transform: scale(1);
}
}
.bounceIn {
animation-name: bounceIn;
animation-name: bounceIn;
}

View File

@ -1,23 +1,23 @@
@keyframes bounceInDown {
0% {
opacity: 0;
transform: translateY(-2000px);
}
0% {
opacity: 0;
transform: translateY(-2000px);
}
60% {
opacity: 1;
transform: translateY(30px);
}
60% {
opacity: 1;
transform: translateY(30px);
}
80% {
transform: translateY(-10px);
}
80% {
transform: translateY(-10px);
}
100% {
transform: translateY(0);
}
100% {
transform: translateY(0);
}
}
.bounceInDown {
animation-name: bounceInDown;
}
animation-name: bounceInDown;
}

View File

@ -1,23 +1,23 @@
@keyframes bounceInLeft {
0% {
opacity: 0;
transform: translateX(-2000px);
}
0% {
opacity: 0;
transform: translateX(-2000px);
}
60% {
opacity: 1;
transform: translateX(30px);
}
60% {
opacity: 1;
transform: translateX(30px);
}
80% {
transform: translateX(-10px);
}
80% {
transform: translateX(-10px);
}
100% {
transform: translateX(0);
}
100% {
transform: translateX(0);
}
}
.bounceInLeft {
animation-name: bounceInLeft;
}
animation-name: bounceInLeft;
}

View File

@ -1,23 +1,23 @@
@keyframes bounceInRight {
0% {
opacity: 0;
transform: translateX(2000px);
}
0% {
opacity: 0;
transform: translateX(2000px);
}
60% {
opacity: 1;
transform: translateX(-30px);
}
60% {
opacity: 1;
transform: translateX(-30px);
}
80% {
transform: translateX(10px);
}
80% {
transform: translateX(10px);
}
100% {
transform: translateX(0);
}
100% {
transform: translateX(0);
}
}
.bounceInRight {
animation-name: bounceInRight;
}
animation-name: bounceInRight;
}

View File

@ -1,23 +1,23 @@
@keyframes bounceInUp {
0% {
opacity: 0;
transform: translateY(2000px);
}
0% {
opacity: 0;
transform: translateY(2000px);
}
60% {
opacity: 1;
transform: translateY(-30px);
}
60% {
opacity: 1;
transform: translateY(-30px);
}
80% {
transform: translateY(10px);
}
80% {
transform: translateY(10px);
}
100% {
transform: translateY(0);
}
100% {
transform: translateY(0);
}
}
.bounceInUp {
animation-name: bounceInUp;
}
animation-name: bounceInUp;
}

View File

@ -1,23 +1,23 @@
@keyframes bounceOut {
0% {
transform: scale(1);
}
0% {
transform: scale(1);
}
25% {
transform: scale(.95);
}
25% {
transform: scale(.95);
}
50% {
opacity: 1;
transform: scale(1.1);
}
50% {
opacity: 1;
transform: scale(1.1);
}
100% {
opacity: 0;
transform: scale(.3);
}
100% {
opacity: 0;
transform: scale(.3);
}
}
.bounceOut {
animation-name: bounceOut;
}
animation-name: bounceOut;
}

View File

@ -1,19 +1,19 @@
@keyframes bounceOutDown {
0% {
transform: translateY(0);
}
0% {
transform: translateY(0);
}
20% {
opacity: 1;
transform: translateY(-20px);
}
20% {
opacity: 1;
transform: translateY(-20px);
}
100% {
opacity: 0;
transform: translateY(2000px);
}
100% {
opacity: 0;
transform: translateY(2000px);
}
}
.bounceOutDown {
animation-name: bounceOutDown;
}
animation-name: bounceOutDown;
}

View File

@ -1,19 +1,19 @@
@keyframes bounceOutLeft {
0% {
transform: translateX(0);
}
0% {
transform: translateX(0);
}
20% {
opacity: 1;
transform: translateX(20px);
}
20% {
opacity: 1;
transform: translateX(20px);
}
100% {
opacity: 0;
transform: translateX(-2000px);
}
100% {
opacity: 0;
transform: translateX(-2000px);
}
}
.bounceOutLeft {
animation-name: bounceOutLeft;
}
animation-name: bounceOutLeft;
}

View File

@ -1,19 +1,19 @@
@keyframes bounceOutRight {
0% {
transform: translateX(0);
}
0% {
transform: translateX(0);
}
20% {
opacity: 1;
transform: translateX(-20px);
}
20% {
opacity: 1;
transform: translateX(-20px);
}
100% {
opacity: 0;
transform: translateX(2000px);
}
100% {
opacity: 0;
transform: translateX(2000px);
}
}
.bounceOutRight {
animation-name: bounceOutRight;
}
animation-name: bounceOutRight;
}

View File

@ -1,19 +1,19 @@
@keyframes bounceOutUp {
0% {
transform: translateY(0);
}
0% {
transform: translateY(0);
}
20% {
opacity: 1;
transform: translateY(20px);
}
20% {
opacity: 1;
transform: translateY(20px);
}
100% {
opacity: 0;
transform: translateY(-2000px);
}
100% {
opacity: 0;
transform: translateY(-2000px);
}
}
.bounceOutUp {
animation-name: bounceOutUp;
}
animation-name: bounceOutUp;
}

View File

@ -1,8 +1,8 @@
@keyframes fadeIn {
0% {opacity: 0;}
100% {opacity: 1;}
0% {opacity: 0;}
100% {opacity: 1;}
}
.fadeIn {
animation-name: fadeIn;
}
animation-name: fadeIn;
}

View File

@ -1,15 +1,15 @@
@keyframes fadeInDown {
0% {
opacity: 0;
transform: translateY(-20px);
}
0% {
opacity: 0;
transform: translateY(-20px);
}
100% {
opacity: 1;
transform: translateY(0);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
.fadeInDown {
animation-name: fadeInDown;
}
animation-name: fadeInDown;
}

View File

@ -1,15 +1,15 @@
@keyframes fadeInDownBig {
0% {
opacity: 0;
transform: translateY(-2000px);
}
0% {
opacity: 0;
transform: translateY(-2000px);
}
100% {
opacity: 1;
transform: translateY(0);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
.fadeInDownBig {
animation-name: fadeInDownBig;
}
animation-name: fadeInDownBig;
}

View File

@ -1,15 +1,15 @@
@keyframes fadeInLeft {
0% {
opacity: 0;
transform: translateX(-20px);
}
0% {
opacity: 0;
transform: translateX(-20px);
}
100% {
opacity: 1;
transform: translateX(0);
}
100% {
opacity: 1;
transform: translateX(0);
}
}
.fadeInLeft {
animation-name: fadeInLeft;
}
animation-name: fadeInLeft;
}

View File

@ -1,15 +1,15 @@
@keyframes fadeInLeftBig {
0% {
opacity: 0;
transform: translateX(-2000px);
}
0% {
opacity: 0;
transform: translateX(-2000px);
}
100% {
opacity: 1;
transform: translateX(0);
}
100% {
opacity: 1;
transform: translateX(0);
}
}
.fadeInLeftBig {
animation-name: fadeInLeftBig;
}
animation-name: fadeInLeftBig;
}

View File

@ -1,15 +1,15 @@
@keyframes fadeInRight {
0% {
opacity: 0;
transform: translateX(20px);
}
0% {
opacity: 0;
transform: translateX(20px);
}
100% {
opacity: 1;
transform: translateX(0);
}
100% {
opacity: 1;
transform: translateX(0);
}
}
.fadeInRight {
animation-name: fadeInRight;
}
animation-name: fadeInRight;
}

View File

@ -1,15 +1,15 @@
@keyframes fadeInRightBig {
0% {
opacity: 0;
transform: translateX(2000px);
}
0% {
opacity: 0;
transform: translateX(2000px);
}
100% {
opacity: 1;
transform: translateX(0);
}
100% {
opacity: 1;
transform: translateX(0);
}
}
.fadeInRightBig {
animation-name: fadeInRightBig;
}
animation-name: fadeInRightBig;
}

View File

@ -1,15 +1,15 @@
@keyframes fadeInUp {
0% {
opacity: 0;
transform: translateY(20px);
}
0% {
opacity: 0;
transform: translateY(20px);
}
100% {
opacity: 1;
transform: translateY(0);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
.fadeInUp {
animation-name: fadeInUp;
}
animation-name: fadeInUp;
}

View File

@ -1,15 +1,15 @@
@keyframes fadeInUpBig {
0% {
opacity: 0;
transform: translateY(2000px);
}
0% {
opacity: 0;
transform: translateY(2000px);
}
100% {
opacity: 1;
transform: translateY(0);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
.fadeInUpBig {
animation-name: fadeInUpBig;
}
animation-name: fadeInUpBig;
}

View File

@ -1,8 +1,8 @@
@keyframes fadeOut {
0% {opacity: 1;}
100% {opacity: 0;}
0% {opacity: 1;}
100% {opacity: 0;}
}
.fadeOut {
animation-name: fadeOut;
}
animation-name: fadeOut;
}

View File

@ -1,15 +1,15 @@
@keyframes fadeOutDown {
0% {
opacity: 1;
transform: translateY(0);
}
0% {
opacity: 1;
transform: translateY(0);
}
100% {
opacity: 0;
transform: translateY(20px);
}
100% {
opacity: 0;
transform: translateY(20px);
}
}
.fadeOutDown {
animation-name: fadeOutDown;
}
animation-name: fadeOutDown;
}

View File

@ -1,15 +1,15 @@
@keyframes fadeOutDownBig {
0% {
opacity: 1;
transform: translateY(0);
}
0% {
opacity: 1;
transform: translateY(0);
}
100% {
opacity: 0;
transform: translateY(2000px);
}
100% {
opacity: 0;
transform: translateY(2000px);
}
}
.fadeOutDownBig {
animation-name: fadeOutDownBig;
}
animation-name: fadeOutDownBig;
}

View File

@ -1,15 +1,15 @@
@keyframes fadeOutLeft {
0% {
opacity: 1;
transform: translateX(0);
}
0% {
opacity: 1;
transform: translateX(0);
}
100% {
opacity: 0;
transform: translateX(-20px);
}
100% {
opacity: 0;
transform: translateX(-20px);
}
}
.fadeOutLeft {
animation-name: fadeOutLeft;
}
animation-name: fadeOutLeft;
}

View File

@ -1,15 +1,15 @@
@keyframes fadeOutLeftBig {
0% {
opacity: 1;
transform: translateX(0);
}
0% {
opacity: 1;
transform: translateX(0);
}
100% {
opacity: 0;
transform: translateX(-2000px);
}
100% {
opacity: 0;
transform: translateX(-2000px);
}
}
.fadeOutLeftBig {
animation-name: fadeOutLeftBig;
}
animation-name: fadeOutLeftBig;
}

View File

@ -1,15 +1,15 @@
@keyframes fadeOutRight {
0% {
opacity: 1;
transform: translateX(0);
}
0% {
opacity: 1;
transform: translateX(0);
}
100% {
opacity: 0;
transform: translateX(20px);
}
100% {
opacity: 0;
transform: translateX(20px);
}
}
.fadeOutRight {
animation-name: fadeOutRight;
}
animation-name: fadeOutRight;
}

View File

@ -1,15 +1,15 @@
@keyframes fadeOutRightBig {
0% {
opacity: 1;
transform: translateX(0);
}
0% {
opacity: 1;
transform: translateX(0);
}
100% {
opacity: 0;
transform: translateX(2000px);
}
100% {
opacity: 0;
transform: translateX(2000px);
}
}
.fadeOutRightBig {
animation-name: fadeOutRightBig;
}
animation-name: fadeOutRightBig;
}

View File

@ -1,15 +1,15 @@
@keyframes fadeOutUp {
0% {
opacity: 1;
transform: translateY(0);
}
0% {
opacity: 1;
transform: translateY(0);
}
100% {
opacity: 0;
transform: translateY(-20px);
}
100% {
opacity: 0;
transform: translateY(-20px);
}
}
.fadeOutUp {
animation-name: fadeOutUp;
}
animation-name: fadeOutUp;
}

View File

@ -1,15 +1,15 @@
@keyframes fadeOutUpBig {
0% {
opacity: 1;
transform: translateY(0);
}
0% {
opacity: 1;
transform: translateY(0);
}
100% {
opacity: 0;
transform: translateY(-2000px);
}
100% {
opacity: 0;
transform: translateY(-2000px);
}
}
.fadeOutUpBig {
animation-name: fadeOutUpBig;
}
animation-name: fadeOutUpBig;
}

View File

@ -1,27 +1,31 @@
@keyframes flip {
0% {
transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
animation-timing-function: ease-out;
}
40% {
transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
animation-timing-function: ease-out;
}
50% {
transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
animation-timing-function: ease-in;
}
80% {
transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
animation-timing-function: ease-in;
}
100% {
transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
animation-timing-function: ease-in;
}
0% {
transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
animation-timing-function: ease-out;
}
40% {
transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
animation-timing-function: ease-out;
}
50% {
transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
animation-timing-function: ease-in;
}
80% {
transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
animation-timing-function: ease-in;
}
100% {
transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
animation-timing-function: ease-in;
}
}
.animated.flip {
backface-visibility: visible;
animation-name: flip;
backface-visibility: visible;
animation-name: flip;
}

View File

@ -1,24 +1,24 @@
@keyframes flipInX {
0% {
transform: perspective(400px) rotateX(90deg);
opacity: 0;
}
0% {
transform: perspective(400px) rotateX(90deg);
opacity: 0;
}
40% {
transform: perspective(400px) rotateX(-10deg);
}
40% {
transform: perspective(400px) rotateX(-10deg);
}
70% {
transform: perspective(400px) rotateX(10deg);
}
70% {
transform: perspective(400px) rotateX(10deg);
}
100% {
transform: perspective(400px) rotateX(0deg);
opacity: 1;
}
100% {
transform: perspective(400px) rotateX(0deg);
opacity: 1;
}
}
.flipInX {
backface-visibility: visible !important;
animation-name: flipInX;
}
backface-visibility: visible !important;
animation-name: flipInX;
}

View File

@ -1,24 +1,24 @@
@keyframes flipInY {
0% {
transform: perspective(400px) rotateY(90deg);
opacity: 0;
}
0% {
transform: perspective(400px) rotateY(90deg);
opacity: 0;
}
40% {
transform: perspective(400px) rotateY(-10deg);
}
40% {
transform: perspective(400px) rotateY(-10deg);
}
70% {
transform: perspective(400px) rotateY(10deg);
}
70% {
transform: perspective(400px) rotateY(10deg);
}
100% {
transform: perspective(400px) rotateY(0deg);
opacity: 1;
}
100% {
transform: perspective(400px) rotateY(0deg);
opacity: 1;
}
}
.flipInY {
backface-visibility: visible !important;
animation-name: flipInY;
}
backface-visibility: visible !important;
animation-name: flipInY;
}

View File

@ -1,15 +1,16 @@
@keyframes flipOutX {
0% {
transform: perspective(400px) rotateX(0deg);
opacity: 1;
}
100% {
transform: perspective(400px) rotateX(90deg);
opacity: 0;
}
0% {
transform: perspective(400px) rotateX(0deg);
opacity: 1;
}
100% {
transform: perspective(400px) rotateX(90deg);
opacity: 0;
}
}
.flipOutX {
animation-name: flipOutX;
backface-visibility: visible !important;
}
animation-name: flipOutX;
backface-visibility: visible !important;
}

View File

@ -1,15 +1,16 @@
@keyframes flipOutY {
0% {
transform: perspective(400px) rotateY(0deg);
opacity: 1;
}
100% {
transform: perspective(400px) rotateY(90deg);
opacity: 0;
}
0% {
transform: perspective(400px) rotateY(0deg);
opacity: 1;
}
100% {
transform: perspective(400px) rotateY(90deg);
opacity: 0;
}
}
.flipOutY {
backface-visibility: visible !important;
animation-name: flipOutY;
}
backface-visibility: visible !important;
animation-name: flipOutY;
}

View File

@ -1,11 +1,26 @@
@keyframes lightSpeedIn {
0% { transform: translateX(100%) skewX(-30deg); opacity: 0; }
60% { transform: translateX(-20%) skewX(30deg); opacity: 1; }
80% { transform: translateX(0%) skewX(-15deg); opacity: 1; }
100% { transform: translateX(0%) skewX(0deg); opacity: 1; }
0% {
transform: translateX(100%) skewX(-30deg);
opacity: 0;
}
60% {
transform: translateX(-20%) skewX(30deg);
opacity: 1;
}
80% {
transform: translateX(0%) skewX(-15deg);
opacity: 1;
}
100% {
transform: translateX(0%) skewX(0deg);
opacity: 1;
}
}
.lightSpeedIn {
animation-name: lightSpeedIn;
animation-timing-function: ease-out;
}
animation-name: lightSpeedIn;
animation-timing-function: ease-out;
}

View File

@ -1,10 +1,16 @@
@keyframes lightSpeedOut {
0% { transform: translateX(0%) skewX(0deg); opacity: 1; }
100% { transform: translateX(100%) skewX(-30deg); opacity: 0; }
0% {
transform: translateX(0%) skewX(0deg);
opacity: 1;
}
100% {
transform: translateX(100%) skewX(-30deg);
opacity: 0;
}
}
.lightSpeedOut {
animation-name: lightSpeedOut;
animation-timing-function: ease-in;
}
animation-name: lightSpeedOut;
animation-timing-function: ease-in;
}

View File

@ -1,17 +1,17 @@
@keyframes rotateIn {
0% {
transform-origin: center center;
transform: rotate(-200deg);
opacity: 0;
}
0% {
transform-origin: center center;
transform: rotate(-200deg);
opacity: 0;
}
100% {
transform-origin: center center;
transform: rotate(0);
opacity: 1;
}
100% {
transform-origin: center center;
transform: rotate(0);
opacity: 1;
}
}
.rotateIn {
animation-name: rotateIn;
}
animation-name: rotateIn;
}

View File

@ -1,17 +1,17 @@
@keyframes rotateInDownLeft {
0% {
transform-origin: left bottom;
transform: rotate(-90deg);
opacity: 0;
}
0% {
transform-origin: left bottom;
transform: rotate(-90deg);
opacity: 0;
}
100% {
transform-origin: left bottom;
transform: rotate(0);
opacity: 1;
}
100% {
transform-origin: left bottom;
transform: rotate(0);
opacity: 1;
}
}
.rotateInDownLeft {
animation-name: rotateInDownLeft;
}
animation-name: rotateInDownLeft;
}

View File

@ -1,17 +1,17 @@
@keyframes rotateInDownRight {
0% {
transform-origin: right bottom;
transform: rotate(90deg);
opacity: 0;
}
0% {
transform-origin: right bottom;
transform: rotate(90deg);
opacity: 0;
}
100% {
transform-origin: right bottom;
transform: rotate(0);
opacity: 1;
}
100% {
transform-origin: right bottom;
transform: rotate(0);
opacity: 1;
}
}
.rotateInDownRight {
animation-name: rotateInDownRight;
}
animation-name: rotateInDownRight;
}

View File

@ -1,17 +1,17 @@
@keyframes rotateInUpLeft {
0% {
transform-origin: left bottom;
transform: rotate(90deg);
opacity: 0;
}
0% {
transform-origin: left bottom;
transform: rotate(90deg);
opacity: 0;
}
100% {
transform-origin: left bottom;
transform: rotate(0);
opacity: 1;
}
100% {
transform-origin: left bottom;
transform: rotate(0);
opacity: 1;
}
}
.rotateInUpLeft {
animation-name: rotateInUpLeft;
}
animation-name: rotateInUpLeft;
}

View File

@ -1,17 +1,17 @@
@keyframes rotateInUpRight {
0% {
transform-origin: right bottom;
transform: rotate(-90deg);
opacity: 0;
}
0% {
transform-origin: right bottom;
transform: rotate(-90deg);
opacity: 0;
}
100% {
transform-origin: right bottom;
transform: rotate(0);
opacity: 1;
}
100% {
transform-origin: right bottom;
transform: rotate(0);
opacity: 1;
}
}
.rotateInUpRight {
animation-name: rotateInUpRight;
}
animation-name: rotateInUpRight;
}

View File

@ -1,17 +1,17 @@
@keyframes rotateOut {
0% {
transform-origin: center center;
transform: rotate(0);
opacity: 1;
}
0% {
transform-origin: center center;
transform: rotate(0);
opacity: 1;
}
100% {
transform-origin: center center;
transform: rotate(200deg);
opacity: 0;
}
100% {
transform-origin: center center;
transform: rotate(200deg);
opacity: 0;
}
}
.rotateOut {
animation-name: rotateOut;
}
animation-name: rotateOut;
}

View File

@ -1,17 +1,17 @@
@keyframes rotateOutDownLeft {
0% {
transform-origin: left bottom;
transform: rotate(0);
opacity: 1;
}
0% {
transform-origin: left bottom;
transform: rotate(0);
opacity: 1;
}
100% {
transform-origin: left bottom;
transform: rotate(90deg);
opacity: 0;
}
100% {
transform-origin: left bottom;
transform: rotate(90deg);
opacity: 0;
}
}
.rotateOutDownLeft {
animation-name: rotateOutDownLeft;
}
animation-name: rotateOutDownLeft;
}

View File

@ -1,17 +1,17 @@
@keyframes rotateOutDownRight {
0% {
transform-origin: right bottom;
transform: rotate(0);
opacity: 1;
}
0% {
transform-origin: right bottom;
transform: rotate(0);
opacity: 1;
}
100% {
transform-origin: right bottom;
transform: rotate(-90deg);
opacity: 0;
}
100% {
transform-origin: right bottom;
transform: rotate(-90deg);
opacity: 0;
}
}
.rotateOutDownRight {
animation-name: rotateOutDownRight;
}
animation-name: rotateOutDownRight;
}

View File

@ -1,17 +1,17 @@
@keyframes rotateOutUpLeft {
0% {
transform-origin: left bottom;
transform: rotate(0);
opacity: 1;
}
0% {
transform-origin: left bottom;
transform: rotate(0);
opacity: 1;
}
100% {
transform-origin: left bottom;
transform: rotate(-90deg);
opacity: 0;
}
100% {
transform-origin: left bottom;
transform: rotate(-90deg);
opacity: 0;
}
}
.rotateOutUpLeft {
animation-name: rotateOutUpLeft;
animation-name: rotateOutUpLeft;
}

View File

@ -1,17 +1,17 @@
@keyframes rotateOutUpRight {
0% {
transform-origin: right bottom;
transform: rotate(0);
opacity: 1;
}
0% {
transform-origin: right bottom;
transform: rotate(0);
opacity: 1;
}
100% {
transform-origin: right bottom;
transform: rotate(90deg);
opacity: 0;
}
100% {
transform-origin: right bottom;
transform: rotate(90deg);
opacity: 0;
}
}
.rotateOutUpRight {
animation-name: rotateOutUpRight;
}
animation-name: rotateOutUpRight;
}

View File

@ -1,14 +1,14 @@
@keyframes slideInDown {
0% {
opacity: 0;
transform: translateY(-2000px);
}
0% {
opacity: 0;
transform: translateY(-2000px);
}
100% {
transform: translateY(0);
}
100% {
transform: translateY(0);
}
}
.slideInDown {
animation-name: slideInDown;
}
animation-name: slideInDown;
}

View File

@ -1,14 +1,14 @@
@keyframes slideInLeft {
0% {
opacity: 0;
transform: translateX(-2000px);
}
0% {
opacity: 0;
transform: translateX(-2000px);
}
100% {
transform: translateX(0);
}
100% {
transform: translateX(0);
}
}
.slideInLeft {
animation-name: slideInLeft;
}
animation-name: slideInLeft;
}

View File

@ -1,14 +1,14 @@
@keyframes slideInRight {
0% {
opacity: 0;
transform: translateX(2000px);
}
0% {
opacity: 0;
transform: translateX(2000px);
}
100% {
transform: translateX(0);
}
100% {
transform: translateX(0);
}
}
.slideInRight {
animation-name: slideInRight;
}
animation-name: slideInRight;
}

View File

@ -1,14 +1,14 @@
@keyframes slideOutLeft {
0% {
transform: translateX(0);
}
0% {
transform: translateX(0);
}
100% {
opacity: 0;
transform: translateX(-2000px);
}
100% {
opacity: 0;
transform: translateX(-2000px);
}
}
.slideOutLeft {
animation-name: slideOutLeft;
}
animation-name: slideOutLeft;
}

View File

@ -1,14 +1,14 @@
@keyframes slideOutRight {
0% {
transform: translateX(0);
}
0% {
transform: translateX(0);
}
100% {
opacity: 0;
transform: translateX(2000px);
}
100% {
opacity: 0;
transform: translateX(2000px);
}
}
.slideOutRight {
animation-name: slideOutRight;
}
animation-name: slideOutRight;
}

View File

@ -1,14 +1,14 @@
@keyframes slideOutUp {
0% {
transform: translateY(0);
}
0% {
transform: translateY(0);
}
100% {
opacity: 0;
transform: translateY(-2000px);
}
100% {
opacity: 0;
transform: translateY(-2000px);
}
}
.slideOutUp {
animation-name: slideOutUp;
}
animation-name: slideOutUp;
}

View File

@ -1,11 +1,35 @@
@keyframes hinge {
0% { transform: rotate(0); transform-origin: top left; animation-timing-function: ease-in-out; }
20%, 60% { transform: rotate(80deg); transform-origin: top left; animation-timing-function: ease-in-out; }
40% { transform: rotate(60deg); transform-origin: top left; animation-timing-function: ease-in-out; }
80% { transform: rotate(60deg) translateY(0); opacity: 1; transform-origin: top left; animation-timing-function: ease-in-out; }
100% { transform: translateY(700px); opacity: 0; }
0% {
transform: rotate(0);
transform-origin: top left;
animation-timing-function: ease-in-out;
}
20%, 60% {
transform: rotate(80deg);
transform-origin: top left;
animation-timing-function: ease-in-out;
}
40% {
transform: rotate(60deg);
transform-origin: top left;
animation-timing-function: ease-in-out;
}
80% {
transform: rotate(60deg) translateY(0);
transform-origin: top left;
animation-timing-function: ease-in-out;
opacity: 1;
}
100% {
transform: translateY(700px);
opacity: 0;
}
}
.hinge {
animation-name: hinge;
}
animation-name: hinge;
}

View File

@ -1,10 +1,17 @@
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollIn {
0% { opacity: 0; transform: translateX(-100%) rotate(-120deg); }
100% { opacity: 1; transform: translateX(0px) rotate(0deg); }
0% {
opacity: 0;
transform: translateX(-100%) rotate(-120deg);
}
100% {
opacity: 1;
transform: translateX(0px) rotate(0deg);
}
}
.rollIn {
animation-name: rollIn;
}
animation-name: rollIn;
}

View File

@ -1,17 +1,17 @@
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollOut {
0% {
opacity: 1;
transform: translateX(0px) rotate(0deg);
}
0% {
opacity: 1;
transform: translateX(0px) rotate(0deg);
}
100% {
opacity: 0;
transform: translateX(100%) rotate(120deg);
}
100% {
opacity: 0;
transform: translateX(100%) rotate(120deg);
}
}
.rollOut {
animation-name: rollOut;
}
animation-name: rollOut;
}