@hellouxpavel/cssanimation
Version:
A Powerful CSS Animation Library for Advanced Motion Design.
187 lines (149 loc) • 3.2 kB
CSS
.cssanimation {
animation-duration: var(--cssanimation-duration, 1s);
animation-fill-mode: var(--cssanimation-fill-mode, both);
}
.cssanimation span {
display: var(--cssanimation-display, inline-block);
}
.infinite {
animation-iteration-count: var(--cssanimation-infinite, infinite) ;
}
@media (prefers-reduced-motion: reduce) {
.cssanimation,
.cssanimation span {
animation: none ;
transition: none ;
}
}
:root {
--cssanimation-duration: 1s;
--cssanimation-fill-mode: both;
--cssanimation-infinite: infinite;
--cssanimation-backface-visibility: hidden;
--cssanimation-transform-style: preserve-3d;
--cssanimation-will-change: transform, opacity;
--cssanimation-display: inline-block;
--move-distance: -800px;
}
/**
* Module: Bounce In
* Filename: ca__BounceIn.ca__fx-css
*/
.ca__fx-bounceInTop {
animation-name: bounceInTop;
}
@keyframes bounceInTop {
0% {
transform: translate3d(0, -300%, 0);
}
58% {
transform: translate3d(0, 27px, 0);
}
73% {
transform: translate3d(0, -12px, 0);
}
88% {
transform: translate3d(0, 7px, 0);
}
}
.ca__fx-bounceInBottom {
animation-name: bounceInBottom;
}
@keyframes bounceInBottom {
0% {
transform: translate3d(0, 300%, 0);
}
58% {
transform: translate3d(0, -27px, 0);
}
73% {
transform: translate3d(0, 12px, 0);
}
88% {
transform: translate3d(0, -8px, 0);
}
}
.ca__fx-bounceInLeft {
animation-name: bounceInLeft;
}
@keyframes bounceInLeft {
0% {
transform: translate3d(-300%, 0, 0);
}
58% {
transform: translate3d(27px, 0, 0);
}
73% {
transform: translate3d(-12px, 0, 0);
}
88% {
transform: translate3d(8px, 0, 0);
}
}
.ca__fx-bounceInRight {
animation-name: bounceInRight;
}
@keyframes bounceInRight {
0% {
transform: translate3d(300%, 0, 0);
}
58% {
transform: translate3d(-27px, 0, 0);
}
73% {
transform: translate3d(12px, 0, 0);
}
88% {
transform: translate3d(-8px, 0, 0);
}
}
.ca__fx-bounceFromTop {
animation-name: bounceFromTop;
}
@keyframes bounceFromTop {
0%,
25%,
55%,
85%,
100% {
animation-timing-function: ease-out;
transform: translate3d(0, 0, 0);
}
41%,
44% {
animation-timing-function: ease-in;
transform: translate3d(0, -80px, 0) scale3d(1, 1.ca__fx-6, 1);
}
70% {
animation-timing-function: ease-in;
transform: translate3d(0, -20px, 0);
}
90% {
transform: translate3d(0, -4px, 0);
}
}
.ca__fx-bounceFromDown {
animation-name: bounceFromDown;
}
@keyframes bounceFromDown {
0%,
25%,
55%,
85%,
100% {
animation-timing-function: ease-out;
transform: translate3d(0, 0, 0);
}
41%,
44% {
animation-timing-function: ease-in;
transform: translate3d(0, 80px, 0) scale3d(1, 1.ca__fx-2, 1);
}
70% {
animation-timing-function: ease-in;
transform: translate3d(0, 20px, 0);
}
90% {
transform: translate3d(0, 4px, 0);
}
}