UNPKG

@hellouxpavel/cssanimation

Version:

A Powerful CSS Animation Library for Advanced Motion Design.

212 lines (174 loc) 4.23 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: Mask Wipe Animations * Filename: ca__MaskWipe.ca__fx-css */ .ca__fx-mask-wipeInLeft { mask-image: linear-gradient(to right, black 50%, transparent 50%); mask-size: 200% 100%; animation-name: mask-wipeInLeft; } @keyframes mask-wipeInLeft { 0% { -webkit-mask-position: 100% 0; mask-position: 100% 0; } 100% { -webkit-mask-position: 0 0; mask-position: 0 0; } } .ca__fx-mask-wipeInRight { mask-image: linear-gradient(to right, transparent 50%, black 50%); mask-size: 200% 100%; animation-name: mask-wipeInLeft; } @keyframes mask-wipeInRight { 0% { -webkit-mask-position: -100% 0; mask-position: -100% 0; } 100% { -webkit-mask-position: 0 0; mask-position: 0 0; } } .ca__fx-mask-wipeInTop { mask-image: linear-gradient(to bottom, black 50%, transparent 50%); mask-size: 100% 200%; animation-name: mask-wipeInTop; } @keyframes mask-wipeInTop { 0% { mask-position: 0 100%; } 100% { mask-position: 0 0; } } .ca__fx-mask-wipeInBottom { mask-image: linear-gradient(to bottom, transparent 50%, black 50%); mask-size: 100% 200%; animation-name: mask-wipeInBottom; } @keyframes mask-wipeInBottom { 0% { mask-position: 0 0; } 100% { mask-position: 0 100%; } } .ca__fx-mask-wipeOutLeft { mask-image: linear-gradient(to right, black 50%, transparent 50%); mask-size: 200% 100%; animation-name: mask-wipeOutLeft; } @keyframes mask-wipeOutLeft { 0% { -webkit-mask-position: 0 0; mask-position: 0 0; } 100% { -webkit-mask-position: -100% 0; mask-position: -100% 0; } } .ca__fx-mask-wipeOutRight { mask-image: linear-gradient(to right, transparent 50%, black 50%); mask-size: 200% 100%; animation-name: mask-wipeOutRight; } @keyframes mask-wipeOutRight { 0% { -webkit-mask-position: 0 0; mask-position: 0 0; } 100% { -webkit-mask-position: 100% 0; mask-position: 100% 0; } } .ca__fx-mask-wipeOutTop { mask-image: linear-gradient(to bottom, black 50%, transparent 50%); mask-size: 100% 200%; animation-name: mask-wipeOutTop; } @keyframes mask-wipeOutTop { 0% { -webkit-mask-position: 0 0; mask-position: 0 0; } 100% { -webkit-mask-position: 0 -100%; mask-position: 0 -100%; } } .ca__fx-mask-wipeOutBottom { mask-image: linear-gradient(to bottom, transparent 50%, black 50%); mask-size: 100% 200%; animation-name: mask-wipeOutBottom; } @keyframes mask-wipeOutBottom { 0% { mask-position: 0 0; } 100% { -webkit-mask-position: 0 100%; mask-position: 0 100%; } } .ca__fx-mask-shutterLinesIn { animation-name: mask-shutterLinesIn; mask-image: repeating-linear-gradient(to right, black 0 30%, transparent 30% 60%); mask-size: 200% 100%; mask-repeat: no-repeat; } @keyframes mask-shutterLinesIn { 0% { mask-position: -100% 0; } 100% { mask-position: 0 0; } } .ca__fx-mask-stripesWideIn { animation-name: mask-stripesWideIn; mask-image: repeating-linear-gradient(to bottom, black 0 40%, transparent 40% 60%); mask-size: 100% 200%; mask-repeat: no-repeat; } @keyframes mask-stripesWideIn { 0% { mask-position: 0 -100%; } 100% { mask-position: 0 0; } }