UNPKG

@hellouxpavel/cssanimation

Version:

A Powerful CSS Animation Library for Advanced Motion Design.

187 lines (149 loc) 3.2 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: 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); } }