Skip to content

Instantly share code, notes, and snippets.

@CodeMyUI
Created February 8, 2017 04:18
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CodeMyUI/a9625a7d73028b20890268db177fccf2 to your computer and use it in GitHub Desktop.
Save CodeMyUI/a9625a7d73028b20890268db177fccf2 to your computer and use it in GitHub Desktop.
Fun with loaders/spinners

Fun with loaders/spinners

I had fun tinkering with animations and making these spinners. I plan to add more during my free time to see how interesting they can get.

A Pen by Jakob Lewis on CodePen.

License.

<div class="container">
<div class="canvas canvas1">
<div class="spinner1 spinnerMax">
<div class="spinner1 spinnerMid">
<div class="spinner1 spinnerMin"></div>
</div>
</div>
</div>
<div class="canvas canvas2">
<div class="spinner2"></div>
<div class="hourHand"></div>
<div class="dot"></div>
</div>
<div class="canvas canvas3">
<div class="spinner3"></div>
</div>
<div class="canvas canvas4">
<div class="spinner4"></div>
</div>
<div class="canvas canvas5">
<div class="spinner5"></div>
</div>
<div class="canvas canvas6">
<div class="spinner6 p1"></div>
<div class="spinner6 p2"></div>
<div class="spinner6 p3"></div>
<div class="spinner6 p4"></div>
</div>
</div>
body {
background: #263238;
background-size: cover;
margin: 0;
padding-top: 5em;
padding-bottom: 5em;
}
.container {
display: flex;
flex-wrap: wrap;
height:;
justify-content: space-around;
margin: 0 auto;
max-width: 650px;
min-width: 200px;
}
.canvas {
align-items: center;
background: #eeeeee;
border-radius: 50%;
box-shadow: 0 5px 20px rgba(0,0,0,0.2);
display: flex;
height: 10em;
justify-content: center;
margin: 1em 1em 2em 1em;
width: 10em;
}
/* Spinner 1 starts here */
.spinner1 {
align-items: center;
border: .3em solid transparent;
border-top: .3em solid #4DB6AC;
border-right: .3em solid #4DB6AC;
border-radius: 100%;
display: flex;
justify-content: center;
}
.spinnerMax {
animation: spinnerOne 3s linear infinite;
height: 3em;
width: 3em;
}
.spinnerMid {
animation: spinnerOne 5s linear infinite;
height: 2.4em;
width: 2.4em;
}
.spinnerMin {
animation: spinnerOne 5s linear infinite;
height: 1.8em;
width: 1.8em;
}
@keyframes spinnerOne {
0% {
transform: rotate(0deg)
}
100% {
transform: rotate(360deg)
}
}
/* Spinner 1 ends here */
/* Spinner 2 starts here */
.canvas2 {
position: relative;
}
.spinner2 {
animation: spinnerTwo 1s linear infinite;
background: #4DB6AC;
border-radius: 100px;
height: 3em;
transform-origin: top;
position: absolute;
top: 50%;
width: .22em;
}
.hourHand {
animation: spinnerTwo 7s linear infinite;
background: #4DB6AC;
border-radius: 100px;
height: 2em;
transform-origin: top;
position: absolute;
top: 50%;
width: .2em;
}
.dot {
background: #4DB6AC;
border-radius: 100%;
height: .5em;
width: .5em;
}
@keyframes spinnerTwo {
0% {
transform: rotate(0deg)
}
100% {
transform: rotate(360deg)
}
}
/* Spinner 2 ends here */
/* Spinner 3 starts here */
.spinner3 {
animation: spinnerThree 1s linear infinite;
background: #4DB6AC;
border-radius: 100%;
width: 3em;
height: 3em;
}
@keyframes spinnerThree {
0%, 35% {
background: #4DB6AC;
transform: scale(1);
}
20%, 50% {
background: #80CBC4;
transform: scale(1.3);
}
}
/* Spinner 3 ends here */
/* Spinner 4 starts here */
.spinner4 {
animation: spinnerFour 1s linear infinite;
border: solid 7px transparent;
border-top: solid 7px #4DB6AC;
border-radius: 100%;
width: 3em;
height: 3em;
}
@keyframes spinnerFour {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
/* Spinner 4 ends here */
/* Spinner 5 starts here */
.spinner5 {
animation: spinnerFive 1s linear infinite;
border: solid 1.5em #4DB6AC;
border-right: solid 1.5em transparent;
border-left: solid 1.5em transparent;
border-radius: 100%;
width: 0;
height: 0;
}
@keyframes spinnerFive {
0% {
transform: rotate(0deg);
}
50% {
transform: rotate(60deg)
}
100% {
transform: rotate(360deg);
}
}
/* Spinner 5 ends here */
/* Spinner 6 starts here */
.spinner6 {
background: #4DB6AC;
border-radius: 50%;
height: 1em;
margin: .1em;
width: 1em;
}
.p1 {
animation: fall 1s linear .3s infinite;
}
.p2 {
animation: fall 1s linear .2s infinite;
}
.p3 {
animation: fall 1s linear .1s infinite;
}
.p4 {
animation: fall 1s linear infinite;
}
@keyframes fall {
0% {
transform: translateY(-15px);
}
25%, 75% {
transform: translateY(0);
}
100% {
transform: translateY(-15px);
}
}
/* Spinner 6 ends here */
@media (max-width: 600px) {
.container {
align-items: center;
flex-direction: column;
}
.canvas {
margin: 1em;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment