UNPKG

@hellouxpavel/cssanimation

Version:

A Powerful CSS Animation Library for Advanced Motion Design.

111 lines (89 loc) 2.01 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: One After One Fade in * Filename: ca__OneAfterOneFadeIn.ca__fx-css */ .ca__fx-flyInTop { animation-name: flyInTop; } @keyframes flyInTop { 0% { transform: translateY(80px); opacity: 0; } 50% { transform: translateY(-50px); animation-timing-function: ease-out; } } .ca__fx-flyInBottom { animation-name: flyInBottom; } @keyframes flyInBottom { 0% { transform: translateY(-80px); opacity: 0; } 50% { transform: translateY(50px); animation-timing-function: ease-out; } } .ca__fx-flyOutTop { animation-name: flyOutTop; } @keyframes flyOutTop { 30% { transform: translateY(80px); animation-timing-function: ease-out; } 80% { transform: translateY(-50px); animation-timing-function: ease-out; } 100% { opacity: 0; } } .ca__fx-flyOutBottom { animation-name: flyOutBottom; } @keyframes flyOutBottom { 30% { transform: translateY(-80px); animation-timing-function: ease-out; } 80% { transform: translateY(50px); animation-timing-function: ease-out; } 100% { opacity: 0; } }