UNPKG

@hellouxpavel/cssanimation

Version:

A Powerful CSS Animation Library for Advanced Motion Design.

107 lines (85 loc) 2.02 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: Hang On * Filename: ca__HangOn.ca__fx-css */ .ca__fx-hangOnLeft { animation-name: hangOnLeft; backface-visibility: var(--cssanimation-backface-visibility); transform-style: var(--cssanimation-transform-style); will-change: var(--cssanimation-will-change); transform-origin: left; } @keyframes hangOnLeft { 0% { transform: rotate(0); } 40% { transform: rotate(100deg); } 55% { transform: rotate(80deg); } 70% { transform: rotate(95deg); } 85% { transform: rotate(85deg); } 100% { transform: rotate(90deg); } } .ca__fx-hangOnRight { animation-name: hangOnRight; backface-visibility: var(--cssanimation-backface-visibility); transform-style: var(--cssanimation-transform-style); will-change: var(--cssanimation-will-change); transform-origin: right; } @keyframes hangOnRight { 0% { transform: rotate(0); } 40% { transform: rotate(-100deg); } 55% { transform: rotate(-80deg); } 70% { transform: rotate(-95deg); } 85% { transform: rotate(-85deg); } 100% { transform: rotate(-90deg); } }