@hellouxpavel/cssanimation
Version:
A Powerful CSS Animation Library for Advanced Motion Design.
129 lines (101 loc) • 2.21 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: Shock In
* Filename: ca__ShockIn.ca__fx-css
*/
.ca__fx-shockZoom {
animation-name: shockZoom;
}
@keyframes shockZoom {
0% {
transform: matrix(5, 0, 0, 5, 0, 0);
}
35% {
transform: matrix(2, 0, 0, 2, 0, 0);
}
43% {
transform: matrix(1, 0, 0, 1, 0, 0);
}
}
.ca__fx-shockInLeft {
animation-name: shockInLeft;
}
@keyframes shockInLeft {
0% {
transform: matrix(1, 0, 0, 1, -800, 0);
}
35% {
transform: matrix(1, 0, 0, 1, 50, 0);
}
43% {
transform: matrix(1, 0, 0, 1, 0, 0);
}
}
.ca__fx-shockInRight {
animation-name: shockInRight;
}
@keyframes shockInRight {
0% {
transform: matrix(1, 0, 0, 1, 800, 0);
}
35% {
transform: matrix(1, 0, 0, 1, -50, 0);
}
43% {
transform: matrix(1, 0, 0, 1, 0, 0);
}
}
.ca__fx-shockInTop {
animation-name: shockInTop;
}
@keyframes shockInTop {
0% {
transform: matrix(1, 0, 0, 1, 0, -400);
}
35% {
transform: matrix(1, 0, 0, 1, 0, 50);
}
43% {
transform: matrix(1, 0, 0, 1, 0, 0);
}
}
.ca__fx-shockInBottom {
animation-name: shockInBottom;
}
@keyframes shockInBottom {
0% {
transform: matrix(1, 0, 0, 1, 0, 400);
}
35% {
transform: matrix(1, 0, 0, 1, 0, -50);
}
43% {
transform: matrix(1, 0, 0, 1, 0, 0);
}
}