UNPKG

@hellouxpavel/cssanimation

Version:

A Powerful CSS Animation Library for Advanced Motion Design.

237 lines (192 loc) 3.65 kB
.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) !important; } @media (prefers-reduced-motion: reduce) { .cssanimation, .cssanimation span { animation: none !important; transition: none !important; } } :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; } }