Start Coding
All
Accordion
Buttons
Cards
Carousel
Css Animation
Hexagons
Hover
Layout
Loaders
Menu
Navigation
Slider
Tables
Wave
Loaders
.spinnerContainer { height:40px; width:40px; position:relative; margin:100px auto 0 auto; } .spinnerContainer div { height: 20px; width: 20px; border-radius: 50%; background: #c1bebe; position: absolute; top: 0; left: 0; } .spinnerContainer .ball1 { background:red; z-index:1; -moz-animation: spinner1 4s infinite ease-in-out; -webkit-animation: spinner1 4s infinite ease-in-out; } .spinnerContainer .ball2 { transform: translate(30px,0); -moz-animation: spinner2 4s infinite ease-in-out; -webkit-animation: spinner2 4s infinite ease-in-out; } .spinnerContainer .ball3 { transform: translate(30px, 30px); -moz-animation: spinner3 4s infinite ease-in-out; -webkit-animation: spinner3 4s infinite ease-in-out; } .spinnerContainer .ball4 { transform: translate(0,30px); -moz-animation: spinner4 4s infinite ease-in-out; -webkit-animation: spinner4 4s infinite ease-in-out; } .spinnerContainer .ball5 { -moz-animation: spinner5 4s infinite ease-in-out; -webkit-animation: spinner5 4s infinite ease-in-out; } @-moz-keyframes spinner1 { 0% {-moz-transform: translate(0,0);} 12.5% {-moz-transform: translate(30px,0);} 25% {-moz-transform: translate(30px,30px);} 37.5% {-moz-transform: translate(0,30px);} 50% {-moz-transform: translate(0,0);} 62.5% {-moz-transform: translate(30px,0);} 75% {-moz-transform: translate(30px,30px);} 87.5% {-moz-transform: translate(0,30px);} 100% {-moz-transform: translate(0,0);}; } @-webkit-keyframes spinner1 { 0% {-webkit-transform: translate(0,0);} 12.5% {-webkit-transform: translate(30px,0);} 25% {-webkit-transform: translate(30px,30px);} 37.5% {-webkit-transform: translate(0,30px);} 50% {-webkit-transform: translate(0,0);} 62.5% {-webkit-transform: translate(30px,0);} 75% {-webkit-transform: translate(30px,30px);} 87.5% {-webkit-transform: translate(0,30px);} 100% {-webkit-transform: translate(0,0);}; } @-moz-keyframes spinner2 { 0% {-moz-transform: translate(30px,0);} 12.5% {-moz-transform: translate(30px,0);} 25% {-moz-transform: translate(30px,30px);} 37.5% {-moz-transform: translate(0,30px);} 50% {-moz-transform: translate(0,0);} 62.5% {-moz-transform: translate(30px,0);} 75% {-moz-transform: translate(30px,0);} 87.5% {-moz-transform: translate(30px,0);} 100% {-moz-transform: translate(30px,0);}; } @-webkit-keyframes spinner2 { 0% {-webkit-transform: translate(30px,0);} 12.5% {-webkit-transform: translate(30px,0);} 25% {-webkit-transform: translate(30px,30px);} 37.5% {-webkit-transform: translate(0,30px);} 50% {-webkit-transform: translate(0,0);} 62.5% {-webkit-transform: translate(30px,0);} 75% {-webkit-transform: translate(30px,0);} 87.5% {-webkit-transform: translate(30px,0);} 100% {-webkit-transform: translate(30px,0);}; } @-moz-keyframes spinner3 { 0% {-moz-transform: translate(30px,30px);} 12.5% {-moz-transform: translate(30px,30px);} 25% {-moz-transform: translate(30px,30px);} 37.5% {-moz-transform: translate(0,30px);} 50% {-moz-transform: translate(0,0);} 62.5% {-moz-transform: translate(30px,0);} 75% {-moz-transform: translate(30px,30px);} 87.5% {-moz-transform: translate(30px,30px);} 100% {-moz-transform: translate(30px,30px);}; } @-webkit-keyframes spinner3 { 0% {-webkit-transform: translate(30px,30px);} 12.5% {-webkit-transform: translate(30px,30px);} 25% {-webkit-transform: translate(30px,30px);} 37.5% {-webkit-transform: translate(0,30px);} 50% {-webkit-transform: translate(0,0);} 62.5% {-webkit-transform: translate(30px,0);} 75% {-webkit-transform: translate(30px,30px);} 87.5% {-webkit-transform: translate(30px,30px);} 100% {-webkit-transform: translate(30px,30px);}; } @-moz-keyframes spinner4 { 0% {-moz-transform: translate(0,50px);} 12.5% {-moz-transform: translate(0,50px);} 25% {-moz-transform: translate(0,50px);} 37.5% {-moz-transform: translate(0,50px);} 50% {-moz-transform: translate(0,0);} 62.5% {-moz-transform: translate(50px,0);} 75% {-moz-transform: translate(50px,50px);} 87.5% {-moz-transform: translate(0,50px);} 100% {-moz-transform: translate(0,50px);}; } @-webkit-keyframes spinner4 { 0% {-webkit-transform: translate(0,30px);} 12.5% {-webkit-transform: translate(0,30px);} 25% {-webkit-transform: translate(0,30px);} 37.5% {-webkit-transform: translate(0,30px);} 50% {-webkit-transform: translate(0,0);} 62.5% {-webkit-transform: translate(30px,0);} 75% {-webkit-transform: translate(30px,30px);} 87.5% {-webkit-transform: translate(0,30px);} 100% {-webkit-transform: translate(0,30px);}; } @-moz-keyframes spinner5 { 0% {-moz-transform: translate(0,0);} 12.5% {-moz-transform: translate(30px,0);} 25% {-moz-transform: translate(30px,30px);} 37.5% {-moz-transform: translate(0,30px);} 50% {-moz-transform: translate(0,0);} 62.5% {-moz-transform: translate(0,0);} 75% {-moz-transform: translate(0,0);} 87.5% {-moz-transform: translate(0,0);} 100% {-moz-transform: translate(0,0);}; } @-webkit-keyframes spinner5 { 0% {-webkit-transform: translate(0,0);} 12.5% {-webkit-transform: translate(30px,0);} 25% {-webkit-transform: translate(30px,30px);} 37.5% {-webkit-transform: translate(0,30px);} 50% {-webkit-transform: translate(0,0);} 62.5% {-webkit-transform: translate(0,0);} 75% {-webkit-transform: translate(0,0);} 87.5% {-webkit-transform: translate(0,0);} 100% {-webkit-transform: translate(0,0);}; }
38
Box dots animation
By:
rald_dev
.loadingspinner { --square: 26px; --offset: 30px; --duration: 2.4s; --delay: 0.2s; --timing-function: ease-in-out; --in-duration: 0.4s; --in-delay: 0.1s; --in-timing-function: ease-out; width: calc( 3 * var(--offset) + var(--square)); height: calc( 2 * var(--offset) + var(--square)); padding: 0px; margin-left: auto; margin-right: auto; margin-top: 10px; margin-bottom: 30px; position: relative; } .loadingspinner div { display: inline-block; background: darkorange; /*background: var(--text-color);*/ /*box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);*/ border: none; border-radius: 2px; width: var(--square); height: var(--square); position: absolute; padding: 0px; margin: 0px; font-size: 6pt; color: black; } .loadingspinner #square1 { left: calc( 0 * var(--offset) ); top: calc( 0 * var(--offset) ); animation: square1 var(--duration) var(--delay) var(--timing-function) infinite, squarefadein var(--in-duration) calc(1 * var(--in-delay)) var(--in-timing-function) both; } .loadingspinner #square2 { left: calc( 0 * var(--offset) ); top: calc( 1 * var(--offset) ); animation: square2 var(--duration) var(--delay) var(--timing-function) infinite, squarefadein var(--in-duration) calc(1 * var(--in-delay)) var(--in-timing-function) both; } .loadingspinner #square3 { left: calc( 1 * var(--offset) ); top: calc( 1 * var(--offset) ); animation: square3 var(--duration) var(--delay) var(--timing-function) infinite, squarefadein var(--in-duration) calc(2 * var(--in-delay)) var(--in-timing-function) both; } .loadingspinner #square4 { left: calc( 2 * var(--offset) ); top: calc( 1 * var(--offset) ); animation: square4 var(--duration) var(--delay) var(--timing-function) infinite, squarefadein var(--in-duration) calc(3 * var(--in-delay)) var(--in-timing-function) both; } .loadingspinner #square5 { left: calc( 3 * var(--offset) ); top: calc( 1 * var(--offset) ); animation: square5 var(--duration) var(--delay) var(--timing-function) infinite, squarefadein var(--in-duration) calc(4 * var(--in-delay)) var(--in-timing-function) both; } @keyframes square1 { 0% { left: calc( 0 * var(--offset) ); top: calc( 0 * var(--offset) ); } 8.333% { left: calc( 0 * var(--offset) ); top: calc( 1 * var(--offset) ); } 100% { left: calc( 0 * var(--offset) ); top: calc( 1 * var(--offset) ); } } @keyframes square2 { 0% { left: calc( 0 * var(--offset) ); top: calc( 1 * var(--offset) ); } 8.333% { left: calc( 0 * var(--offset) ); top: calc( 2 * var(--offset) ); } 16.67% { left: calc( 1 * var(--offset) ); top: calc( 2 * var(--offset) ); } 25.00% { left: calc( 1 * var(--offset) ); top: calc( 1 * var(--offset) ); } 83.33% { left: calc( 1 * var(--offset) ); top: calc( 1 * var(--offset) ); } 91.67% { left: calc( 1 * var(--offset) ); top: calc( 0 * var(--offset) ); } 100% { left: calc( 0 * var(--offset) ); top: calc( 0 * var(--offset) ); } } @keyframes square3 { 0%,100% { left: calc( 1 * var(--offset) ); top: calc( 1 * var(--offset) ); } 16.67% { left: calc( 1 * var(--offset) ); top: calc( 1 * var(--offset) ); } 25.00% { left: calc( 1 * var(--offset) ); top: calc( 0 * var(--offset) ); } 33.33% { left: calc( 2 * var(--offset) ); top: calc( 0 * var(--offset) ); } 41.67% { left: calc( 2 * var(--offset) ); top: calc( 1 * var(--offset) ); } 66.67% { left: calc( 2 * var(--offset) ); top: calc( 1 * var(--offset) ); } 75.00% { left: calc( 2 * var(--offset) ); top: calc( 2 * var(--offset) ); } 83.33% { left: calc( 1 * var(--offset) ); top: calc( 2 * var(--offset) ); } 91.67% { left: calc( 1 * var(--offset) ); top: calc( 1 * var(--offset) ); } } @keyframes square4 { 0% { left: calc( 2 * var(--offset) ); top: calc( 1 * var(--offset) ); } 33.33% { left: calc( 2 * var(--offset) ); top: calc( 1 * var(--offset) ); } 41.67% { left: calc( 2 * var(--offset) ); top: calc( 2 * var(--offset) ); } 50.00% { left: calc( 3 * var(--offset) ); top: calc( 2 * var(--offset) ); } 58.33% { left: calc( 3 * var(--offset) ); top: calc( 1 * var(--offset) ); } 100% { left: calc( 3 * var(--offset) ); top: calc( 1 * var(--offset) ); } } @keyframes square5 { 0% { left: calc( 3 * var(--offset) ); top: calc( 1 * var(--offset) ); } 50.00% { left: calc( 3 * var(--offset) ); top: calc( 1 * var(--offset) ); } 58.33% { left: calc( 3 * var(--offset) ); top: calc( 0 * var(--offset) ); } 66.67% { left: calc( 2 * var(--offset) ); top: calc( 0 * var(--offset) ); } 75.00% { left: calc( 2 * var(--offset) ); top: calc( 1 * var(--offset) ); } 100% { left: calc( 2 * var(--offset) ); top: calc( 1 * var(--offset) ); } } @keyframes squarefadein { 0% { transform: scale(0.75); opacity: 0.0; } 100% { transform: scale(1.0); opacity: 1.0; } }
31
Tetris Block Loader
By:
pixeldev
.loader { position: relative; width: 54px; height: 54px; border-radius: 10px; } .loader div { width: 8%; height: 24%; background: rgb(128, 128, 128); position: absolute; left: 50%; top: 30%; opacity: 0; border-radius: 50px; box-shadow: 0 0 3px rgba(0,0,0,0.2); animation: fade458 1s linear infinite; } @keyframes fade458 { from { opacity: 1; } to { opacity: 0.25; } } .loader .bar1 { transform: rotate(0deg) translate(0, -130%); animation-delay: 0s; } .loader .bar2 { transform: rotate(30deg) translate(0, -130%); animation-delay: -1.1s; } .loader .bar3 { transform: rotate(60deg) translate(0, -130%); animation-delay: -1s; } .loader .bar4 { transform: rotate(90deg) translate(0, -130%); animation-delay: -0.9s; } .loader .bar5 { transform: rotate(120deg) translate(0, -130%); animation-delay: -0.8s; } .loader .bar6 { transform: rotate(150deg) translate(0, -130%); animation-delay: -0.7s; } .loader .bar7 { transform: rotate(180deg) translate(0, -130%); animation-delay: -0.6s; } .loader .bar8 { transform: rotate(210deg) translate(0, -130%); animation-delay: -0.5s; } .loader .bar9 { transform: rotate(240deg) translate(0, -130%); animation-delay: -0.4s; } .loader .bar10 { transform: rotate(270deg) translate(0, -130%); animation-delay: -0.3s; } .loader .bar11 { transform: rotate(300deg) translate(0, -130%); animation-delay: -0.2s; } .loader .bar12 { transform: rotate(330deg) translate(0, -130%); animation-delay: -0.1s; }
29
Loader
By:
pixeldev
body{ background: #373940; } .socket{ width: 200px; height: 200px; position: absolute; left: 50%; margin-left: -100px; top: 50%; margin-top: -100px; } .hex-brick{ background: #ABF8FF; width: 30px; height: 17px; position: absolute; top: 5px; animation-name: fade; animation-duration: 2s; animation-iteration-count: infinite; -webkit-animation-name: fade; -webkit-animation-duration: 2s; -webkit-animation-iteration-count: infinite; } .h2{ transform: rotate(60deg); -webkit-transform: rotate(60deg); } .h3{ transform: rotate(-60deg); -webkit-transform: rotate(-60deg); } .gel{ height: 30px; width: 30px; transition: all .3s; -webkit-transition: all .3s; position: absolute; top: 50%; left: 50%; } .center-gel{ margin-left: -15px; margin-top: -15px; animation-name: pulse; animation-duration: 2s; animation-iteration-count: infinite; -webkit-animation-name: pulse; -webkit-animation-duration: 2s; -webkit-animation-iteration-count: infinite; } .c1{ margin-left: -47px; margin-top: -15px; } .c2{ margin-left: -31px; margin-top: -43px; } .c3{ margin-left: 1px; margin-top: -43px; } .c4{ margin-left: 17px; margin-top: -15px; } .c5{ margin-left: -31px; margin-top: 13px; } .c6{ margin-left: 1px; margin-top: 13px; } .c7{ margin-left: -63px; margin-top: -43px; } .c8{ margin-left: 33px; margin-top: -43px; } .c9{ margin-left: -15px; margin-top: 41px; } .c10{ margin-left: -63px; margin-top: 13px; } .c11{ margin-left: 33px; margin-top: 13px; } .c12{ margin-left: -15px; margin-top: -71px; } .c13{ margin-left: -47px; margin-top: -71px; } .c14{ margin-left: 17px; margin-top: -71px; } .c15{ margin-left: -47px; margin-top: 41px; } .c16{ margin-left: 17px; margin-top: 41px; } .c17{ margin-left: -79px; margin-top: -15px; } .c18{ margin-left: 49px; margin-top: -15px; } .c19{ margin-left: -63px; margin-top: -99px; } .c20{ margin-left: 33px; margin-top: -99px; } .c21{ margin-left: 1px; margin-top: -99px; } .c22{ margin-left: -31px; margin-top: -99px; } .c23{ margin-left: -63px; margin-top: 69px; } .c24{ margin-left: 33px; margin-top: 69px; } .c25{ margin-left: 1px; margin-top: 69px; } .c26{ margin-left: -31px; margin-top: 69px; } .c27{ margin-left: -79px; margin-top: -15px; } .c28{ margin-left: -95px; margin-top: -43px; } .c29{ margin-left: -95px; margin-top: 13px; } .c30{ margin-left: 49px; margin-top: 41px; } .c31{ margin-left: -79px; margin-top: -71px; } .c32{ margin-left: -111px; margin-top: -15px; } .c33{ margin-left: 65px; margin-top: -43px; } .c34{ margin-left: 65px; margin-top: 13px; } .c35{ margin-left: -79px; margin-top: 41px; } .c36{ margin-left: 49px; margin-top: -71px; } .c37{ margin-left: 81px; margin-top: -15px; } .r1{ animation-name: pulse; animation-duration: 2s; animation-iteration-count: infinite; animation-delay: .2s; -webkit-animation-name: pulse; -webkit-animation-duration: 2s; -webkit-animation-iteration-count: infinite; -webkit-animation-delay: .2s; } .r2{ animation-name: pulse; animation-duration: 2s; animation-iteration-count: infinite; animation-delay: .4s; -webkit-animation-name: pulse; -webkit-animation-duration: 2s; -webkit-animation-iteration-count: infinite; -webkit-animation-delay: .4s; } .r3{ animation-name: pulse; animation-duration: 2s; animation-iteration-count: infinite; animation-delay: .6s; -webkit-animation-name: pulse; -webkit-animation-duration: 2s; -webkit-animation-iteration-count: infinite; -webkit-animation-delay: .6s; } .r1 > .hex-brick{ animation-name: fade; animation-duration: 2s; animation-iteration-count: infinite; animation-delay: .2s; -webkit-animation-name: fade; -webkit-animation-duration: 2s; -webkit-animation-iteration-count: infinite; -webkit-animation-delay: .2s; } .r2 > .hex-brick{ animation-name: fade; animation-duration: 2s; animation-iteration-count: infinite; animation-delay: .4s; -webkit-animation-name: fade; -webkit-animation-duration: 2s; -webkit-animation-iteration-count: infinite; -webkit-animation-delay: .4s; } .r3 > .hex-brick{ animation-name: fade; animation-duration: 2s; animation-iteration-count: infinite; animation-delay: .6s; -webkit-animation-name: fade; -webkit-animation-duration: 2s; -webkit-animation-iteration-count: infinite; -webkit-animation-delay: .6s; } @keyframes pulse{ 0%{ -webkit-transform: scale(1); transform: scale(1); } 50%{ -webkit-transform: scale(0.01); transform: scale(0.01); } 100%{ -webkit-transform: scale(1); transform: scale(1); } } @keyframes fade{ 0%{ background: #ABF8FF; } 50%{ background: #90BBBF; } 100%{ background: #ABF8FF; } } @-webkit-keyframes pulse{ 0%{ -webkit-transform: scale(1); transform: scale(1); } 50%{ -webkit-transform: scale(0.01); transform: scale(0.01); } 100%{ -webkit-transform: scale(1); transform: scale(1); } } @-webkit-keyframes fade{ 0%{ background: #ABF8FF; } 50%{ background: #389CA6; } 100%{ background: #ABF8FF; } }
28
Hexagonal Loading Animation
By:
rald_dev
CSS3 loading animation.
Simple.
Clear.
Pure.
Simple.
* { font-family: 'Roboto',sans-serif; } h1, p { text-align: center; font-weight: 300; } h1 { font-size: 2em; } .word-spinner { font-size: 2em; height: 2em; line-height: 2em; overflow: hidden; } .word-spinner > span { display: block; } .word-spinner > span { position: relative; display: block; text-align: center; top: -100%; animation: wordspin 5s infinite; -webkit-animation: wordspin 5s infinite; } /* spinning animation */ @keyframes wordspin { 0% { top: 0%; } 33% { top: -100%; } 66% { top: -200%; } 100% { top: -300%; } } @-webkit-keyframes wordspin /*Safari and Chrome*/ { 0% { top: 0%; } 33% { top: -100%; } 66% { top: -200%; } 100% { top: -300%; } } /* loader div */ #loader2 { width: 16em; height: 16em; margin: 6em auto 6em auto; font-size: 12px; background-color: white; border-left: 1.6em solid #3399FF; border-right: 1.6em solid #3399FF; border-top: 1.6em solid transparent; border-bottom: 1.6em solid transparent; border-radius: 100%; -webkit-border-radius: 100%; animation: loader 1s infinite; -webkit-animation: loader 1s infinite; } /* spinning animation */ @keyframes loader { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @-webkit-keyframes loader /*Safari and Chrome*/ { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); } } .ownlink { color: #3399FF; text-decoration: none; font-style: italic; }
28
Loading Animation v2
By:
rald_dev
100%
spent
.wrapper { margin: 50px; width: 300px; height: 300px; overflow: hidden; position:relative } .right { border: #3f85a3 solid 15px; height: 125px; width: 125px; border-radius:120px; border-top-color: transparent; border-left-color: transparent; position: absolute; transform: rotate(-45deg); animation: rota2 1000ms linear; -moz-animation: rota2 1000ms linear; -o-animation: rota2 1000ms linear; -webkit-animation: rota2 1000ms linear; } @keyframes rota2 { from{ transform:rotate(-225deg);} to { transform: rotate(-45deg);} } @-o-keyframes rota2 { from{ transform:rotate(-225deg);} to { transform: rotate(-45deg);} } @-moz-keyframes rota2 { from{ transform:rotate(-225deg);} to { transform: rotate(-45deg);} } @-webkit-keyframes rota2 { from{ transform:rotate(-225deg);} to { transform: rotate(-45deg);} } .left { border: #3f85a3 solid 15px; height: 125px; width: 125px; border-radius:120px; border-bottom-color: transparent; border-right-color: transparent; position: absolute; transform: rotate(315deg); animation: rota 2000ms linear; -o-animation: rota 2000ms linear; -moz-animation: rota 2000ms linear; -webkit-animation: rota 2000ms linear; } @keyframes rota { from {transform: rotate(-45deg);} to { transform: rotate(315deg);} } @-o-keyframes rota { from {transform: rotate(-45deg);} to { transform: rotate(315deg);} } @moz-keyframes rota { from {transform: rotate(-45deg);} to { transform: rotate(315deg);} } @-webkit-keyframes rota { from {transform: rotate(-45deg);} to { transform: rotate(315deg);} } .middle { color: #0987bc; font-size: 18px; display: flex; align-items: center; justify-content: center; flex-direction: column; width: 130px; height: 130px; left: 15px; top: 15px; border-radius: 150px; position: relative; z-index: 4; } .popover { background: white; width: 80px; height: 162px; position:absolute; top: -3px; left: -3px; opacity:0; z-index:2; animation: popover 1000ms linear; -moz-animation: popover 1000ms linear; -o-animation: popover 1000ms linear; -webkit-animation: popover 1000ms linear; } @keyframes popover { 0% {opacity: 1;} 99%{opacity:1;} 100% {opacity:0;} } @-o-keyframes popover { 0% {opacity: 1;} 99%{opacity:1;} 100% {opacity:0;} } @-moz-keyframes popover { 0% {opacity: 1;} 99%{opacity:1;} 100% {opacity:0;} } @-webkit-keyframes popover { 0% {opacity: 1;} 99%{opacity:1;} 100% {opacity:0;} }
26
Circle Animation Loader
By:
rald_dev
body{ background: #111; display: flex; height: 100vh; place-content: center; align-items: center; } .wrapper { background: #fff; position: relative; } .wrapper #motion-demo { offset-path: path("M 0 0 m 0 -37.5 a 37.5 37.5 90 1 0 0 75 a 37.5 37.5 90 1 0 0 -75"); animation: move infinite cubic-bezier(.71,.54,.26,.8); width: 6px; height: 6px; border-radius: 10px; position: absolute; } #motion-demo:nth-of-type(1) { background: #bada55; animation-duration: 1.2s; animation-delay: .1s; } #motion-demo:nth-of-type(2) { background: dodgerblue; animation-duration: 1.2s; animation-delay: .2s; } #motion-demo:nth-of-type(3) { background: springgreen; animation-duration: 1.1s; animation-delay: .3s; } #motion-demo:nth-of-type(4) { background: orangered; animation-duration: 1s; animation-delay: .4s; } #motion-demo:nth-of-type(5) { background: orange; animation-duration: 1s; animation-delay: .45s; } #motion-demo:nth-of-type(6) { background: violet; animation-duration: 1s; animation-delay: .5s; } #motion-demo:nth-of-type(7) { background: orangered; animation-duration: 1s; animation-delay: .55s; } #motion-demo:nth-of-type(8) { background: orange; animation-duration: 1s; animation-delay: .6s; } @keyframes move { 0% { offset-distance: 0%; } 50%{ opacity: 0.5; } 100% { offset-distance: 100%; } }
25
Rainbow Loader Animation
By:
rald_dev
Simple CSS loaders
single html element css animation
.loader { --color: white; --size-mid: 6vmin; --size-dot: 1.5vmin; --size-bar: 0.4vmin; --size-square: 3vmin; display: block; position: relative; width: 50%; display: grid; place-items: center; } .loader::before, .loader::after { content: ''; box-sizing: border-box; position: absolute; } /** loader --1 **/ .loader.--1::before { width: var(--size-mid); height: var(--size-mid); border: 4px solid var(--color); border-top-color: transparent; border-radius: 50%; animation: loader-1 1s linear infinite; } .loader.--1::after { width: calc(var(--size-mid) - 2px); height: calc(var(--size-mid) - 2px); border: 2px solid transparent; border-top-color: var(--color); border-radius: 50%; animation: loader-1 0.6s linear reverse infinite; } @keyframes loader-1 { 100% { transform: rotate(1turn); } } /** loader --2 **/ .loader.--2::before, .loader.--2::after { width: var(--size-dot); height: var(--size-dot); background-color: var(--color); border-radius: 50%; opacity: 0; animation: loader-2 0.8s cubic-bezier(0.2, 0.32, 0, 0.87) infinite; } .loader.--2::after { animation-delay: 0.3s; } @keyframes loader-2 { 0%, 80%, 100% { opacity: 0; } 33% { opacity: 1; } 0%, 100% { transform: translateX(-4vmin); } 90% { transform: translateX(4vmin); } } /** loader --3 **/ .loader.--3::before, .loader.--3::after { width: var(--size-dot); height: var(--size-dot); background-color: var(--color); border-radius: 50%; animation: loader-3 1.2s ease-in-out infinite; } .loader.--3::before { left: calc(50% - 1.6vmin - var(--size-dot)); } .loader.--3::after { left: calc(50% + 1.6vmin); animation-delay: -0.4s; } @keyframes loader-3 { 0%, 100% { transform: translateY(-2.6vmin); } 44% { transform: translateY(2.6vmin); } } /** loader --4 **/ .loader.--4::before { height: var(--size-bar); width: 6vmin; background-color: var(--color); animation: loader-4 0.8s cubic-bezier(0, 0, 0.03, 0.9) infinite; } @keyframes loader-4 { 0%, 44%, 88.1%, 100% { transform-origin: left; } 0%, 100%, 88% { transform: scaleX(0); } 44.1%, 88% { transform-origin: right; } 33%, 44% { transform: scaleX(1); } } /** loader --5 **/ .loader.--5::before, .loader.--5::after { height: 3vmin; width: var(--size-bar); background-color: var(--color); animation: loader-5 0.6s cubic-bezier(0, 0, 0.03, 0.9) infinite; } .loader.--5::before { left: calc(50% - 1vmin); top: calc(50% - 3vmin); } .loader.--5::after { left: calc(50% + 1vmin); top: calc(50% - 1vmin); animation-delay: 0.2s; } @keyframes loader-5 { 0%, 88%, 100% { opacity: 0; } 0% { transform: translateY(-6vmin); } 33% { opacity: 1; } 33%, 88% { transform: translateY(3vmin); } } /** loader --6 **/ .loader.--6::before { width: var(--size-square); height: var(--size-square); background-color: var(--color); top: calc(50% - var(--size-square)); left: calc(50% - var(--size-square)); animation: loader-6 2.4s cubic-bezier(0, 0, 0.24, 1.21) infinite; } @keyframes loader-6 { 0%, 100% { transform: none; } 25% { transform: translateX(100%); } 50% { transform: translateX(100%) translateY(100%); } 75% { transform: translateY(100%); } } /** loader --7 **/ .loader.--7::before, .loader.--7::after { width: var(--size-square); height: var(--size-square); background-color: var(--color); } .loader.--7::before { top: calc(50% - var(--size-square)); left: calc(50% - var(--size-square)); animation: loader-6 2.4s cubic-bezier(0, 0, 0.24, 1.21) infinite; } .loader.--7::after { top: 50%; left: 50%; animation: loader-7 2.4s cubic-bezier(0, 0, 0.24, 1.21) infinite; } @keyframes loader-7 { 0%, 100% { transform: none; } 25% { transform: translateX(-100%); } 50% { transform: translateX(-100%) translateY(-100%); } 75% { transform: translateY(-100%); } } /** loader --8 **/ .loader.--8::before, .loader.--8::after { width: var(--size-dot); height: var(--size-dot); border-radius: 50%; background-color: var(--color); } .loader.--8::before { top: calc(50% + 4vmin); animation: loader-8-1 0.8s cubic-bezier(0.06, 0.01, 0.49, 1.18) infinite; } .loader.--8::after { opacity: 0; top: calc(50% - 2vmin); animation: loader-8-2 0.8s cubic-bezier(0.46,-0.1, 0.27, 1.07) 0.2s infinite; } @keyframes loader-8-1 { 0%, 55%, 100% { opacity: 0; } 0% { transform: scale(0.2); } 22% { opacity: 1; } 33%, 55% { transform: scale(1) translateY(-6vmin); } } @keyframes loader-8-2 { 0%, 100% { opacity: 0; } 33% { opacity: 0.3; } 0% { transform: scale(0); } 100% { transform: scale(4); } } /** loader --9 **/ .loader.--9::before, .loader.--9::after { width: var(--size-dot); height: var(--size-dot); border-radius: 50%; background-color: var(--color); animation: loader-9 0.42s cubic-bezier(0.39, 0.31, 0, 1.11) infinite; } .loader.--9::before { left: calc(50% - var(--size-dot) - 1.6vmin); } .loader.--9::after { left: calc(50% + 1.6vmin); animation-delay: 0.12s; } @keyframes loader-9 { 0%, 100% { opacity: 0; } 0% { transform: translate(-4vmin, -4vmin); } 66% { opacity: 1; } 66%, 100% { transform: none; } } /** miscs **/ .container { display: grid; grid-template-columns: repeat(3, 18vmin); grid-template-rows: repeat(3, 18vmin); grid-gap: 1vmin; } .item { background: rgba(255, 255, 255, 0.1); display: grid; place-items: center; border-radius: 4px; transition: opacity 0.4s ease; } .container:hover .item { opacity: 0.3; } .container:hover .item:hover { opacity: 1; } .page { margin: auto; } .header { margin-bottom: 4vmin; } .header-title { font-size: 3.75vmin; } .header-subtitle { font-size: 2vmin; text-transform: uppercase; opacity: 0.6; } html, body { display: flex; width: 100%; height: 100%; background-image: linear-gradient(to right top, #051937, #004d7a, #008793, #00bf72, #a8eb12); font-family: 'Noto Sans', sans-serif; color: white; text-align: center; letter-spacing: 0.3px; }
24
Simple CSS loaders
By:
rald_dev
Loading…
/* Absolute Center Spinner */ .loading { position: fixed; z-index: 999; height: 2em; width: 2em; overflow: visible; margin: auto; top: 0; left: 0; bottom: 0; right: 0; } /* Transparent Overlay */ .loading:before { content: ''; display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.3); } /* :not(:required) hides these rules from IE9 and below */ .loading:not(:required) { /* hide "loading..." text */ font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; } .loading:not(:required):after { content: ''; display: block; font-size: 10px; width: 1em; height: 1em; margin-top: -0.5em; -webkit-animation: spinner 1500ms infinite linear; -moz-animation: spinner 1500ms infinite linear; -ms-animation: spinner 1500ms infinite linear; -o-animation: spinner 1500ms infinite linear; animation: spinner 1500ms infinite linear; border-radius: 0.5em; -webkit-box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.5) -1.5em 0 0 0, rgba(0, 0, 0, 0.5) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0; box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) -1.5em 0 0 0, rgba(0, 0, 0, 0.75) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0; } /* Animation */ @-webkit-keyframes spinner { 0% { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -ms-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); } } @-moz-keyframes spinner { 0% { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -ms-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); } } @-o-keyframes spinner { 0% { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -ms-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spinner { 0% { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -ms-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); } }
24
Single Element Absolute Center Overlay Spinner
By:
rald_dev
Neon button
Neon button
Neon button
*{ margin: 0; padding: 0; box-sizing: border-box; } body{ display: flex; justify-content: center; align-items: center; height: 100vh; background: #050801; font-family: 'Raleway', sans-serif; font-weight: bold; } a{ position: relative; display: inline-block; padding: 25px 30px; margin: 40px 0; color: #03e9f4; text-decoration: none; text-transform: uppercase; transition: 0.5s; letter-spacing: 4px; overflow: hidden; margin-right: 50px; } a:hover{ background: #03e9f4; color: #050801; box-shadow: 0 0 5px #03e9f4, 0 0 25px #03e9f4, 0 0 50px #03e9f4, 0 0 200px #03e9f4; -webkit-box-reflect:below 1px linear-gradient(transparent, #0005); } a:nth-child(1){ filter: hue-rotate(270deg); } a:nth-child(2){ filter: hue-rotate(110deg); } a span{ position: absolute; display: block; } a span:nth-child(1){ top: 0; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg,transparent,#03e9f4); animation: animate1 1s linear infinite; } @keyframes animate1{ 0%{ left: -100%; } 50%,100%{ left: 100%; } } a span:nth-child(2){ top: -100%; right: 0; width: 2px; height: 100%; background: linear-gradient(180deg,transparent,#03e9f4); animation: animate2 1s linear infinite; animation-delay: 0.25s; } @keyframes animate2{ 0%{ top: -100%; } 50%,100%{ top: 100%; } } a span:nth-child(3){ bottom: 0; right: 0; width: 100%; height: 2px; background: linear-gradient(270deg,transparent,#03e9f4); animation: animate3 1s linear infinite; animation-delay: 0.50s; } @keyframes animate3{ 0%{ right: -100%; } 50%,100%{ right: 100%; } } a span:nth-child(4){ bottom: -100%; left: 0; width: 2px; height: 100%; background: linear-gradient(360deg,transparent,#03e9f4); animation: animate4 1s linear infinite; animation-delay: 0.75s; } @keyframes animate4{ 0%{ bottom: -100%; } 50%,100%{ bottom: 100%; } }
23
Glowing buttons
By:
rald_dev
html{ background-color: #023; } .load{ display:flex; justify-content:center; align-items:center; height:95vh; } .load div{ background-color:#00f3ff; height: 40px; width:40px; border-radius: 50%; margin-right:20px; animation-name: up-load; animation-duration: 1.5s; animation-iteration-count:infinite; animation-direction: alternate; animation-timing-function: linear; } .load .two{ animation-delay: 0.5s; } .load .three{ animation-delay: 1s; } @keyframes up-load{ to{ opacity: 0.05; transform: translateY(-25px) } }
21
Loading dots animation
By:
rald_dev
.loader { border: 8px; border-top: 4px dotted #FF0035; border-radius:50%; width: 120px; height: 120px; animation: spin 3s linear infinite; margin: auto; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } 0% {background-color:#FF0035 ; opacity: 0.2;} 30% {background-color:white; opacity: 1.0;} 70% {background-color:white; opacity: 1.0;} 100% {background-color: #FF0035; opacity: 0.2;} } }
21
Red loading animation
By:
rald_dev
1
2
Next