@hellouxpavel/cssanimation
Version:
A Powerful CSS Animation Library for Advanced Motion Design.
237 lines (192 loc) • 3.65 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: Spotlights
* Filename: ca__Spotlights.ca__fx-css
*/
.ca__fx-unfoldAndRise {
animation-name: unfoldAndRise;
perspective: 1000px;
perspective-origin: center bottom;
animation-timing-function: cubic-bezier(0.ca__fx-68, -0.ca__fx-55, 0.ca__fx-265, 1.ca__fx-55);
transform-origin: bottom center;
backface-visibility: var(--cssanimation-backface-visibility);
transform-style: var(--cssanimation-transform-style);
will-change: var(--cssanimation-will-change);
}
@keyframes unfoldAndRise {
0% {
transform: rotateX(90deg) translateY(50px) scale(0.ca__fx-8);
opacity: 0;
}
40% {
transform: rotateX(0deg) translateY(0) scale(1);
opacity: 1;
}
60% {
transform: rotateX(-5deg) translateY(-10px);
opacity: 1;
}
80% {
transform: rotateX(0deg) translateY(0);
opacity: 1;
}
100% {
opacity: 1;
}
}
.ca__fx-hu__hu__ {
animation: hu__hu__ infinite 2s ease-in-out;
}
@keyframes hu__hu__ {
50% {
transform: translateY(30px);
}
}
.ca__fx-peekpeek {
animation-name: peekpeek;
}
@keyframes peekpeek {
25% {
transform: rotateX(30deg) translateY(10px) rotate(-13deg);
}
50% {
transform: translateY(-22px) rotate(3deg) scale(1.ca__fx-1);
}
}
.ca__fx-pepe {
animation-name: pepe;
}
@keyframes pepe {
0%,
33%,
66%,
100% {
transform: rotate(4deg);
}
16%,
50%,
83% {
transform: rotate(-4deg);
}
}
.ca__fx-lightning {
animation-name: lightning;
}
@keyframes lightning {
0%,
50%,
100% {
opacity: 1;
}
25%,
75% {
opacity: 0;
}
}
.ca__fx-joltZoom {
animation-name: joltZoom;
}
@keyframes joltZoom {
10% {
font-size: 140%;
}
40% {
font-size: 80%;
}
100% {
font-size: 100%;
}
}
.ca__fx-jigglypop {
animation-name: jigglypop;
}
@keyframes jigglypop {
0%,
100% {
transform: rotate(0deg);
}
15% {
transform: rotate(-5deg);
}
30% {
transform: rotate(5deg);
}
45% {
transform: rotate(-3deg);
}
60% {
transform: rotate(3deg);
}
75% {
transform: rotate(-1deg);
}
}
.ca__fx-wooble {
animation-name: wooble;
transform-origin: center;
}
@keyframes wooble {
0%,
100% {
transform: skewX(0deg);
}
20% {
transform: skewX(-10deg);
}
40% {
transform: skewX(8deg);
}
60% {
transform: skewX(-6deg);
}
80% {
transform: skewX(4deg);
}
}
.ca__fx-colorFlicker {
animation: flicker 1s infinite;
}
@keyframes flicker {
0%,
19%,
21%,
23%,
25%,
54%,
56%,
100% {
opacity: 1;
}
20%,
22%,
24%,
55% {
opacity: 0.ca__fx-3;
}
}