UNPKG

@hellouxpavel/cssanimation

Version:

A Powerful CSS Animation Library for Advanced Motion Design.

129 lines (101 loc) 2.21 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: 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); } }