<div id="wrapper">
<span class="spinner"></span>
<span class="pulser"></span>
<span class="doublespinner"></span>
<span class="ball"></span>
</div>
body {
background: #333;
}
#wrapper {
width: 90%;
min-width: 600px;
min-height: 1px;
margin: 50px auto;
}
/* SPINNER */
.spinner {
margin: 30px;
display: block;
float: left;
border: 25px solid #F07;
width: 1px;
height: 1px;
border-radius: 50px;
border-left-color: transparent;
border-right-color: transparent;
animation-name: spin;
animation-duration: 1.5s;
animation-iteration-count: infinite;
animation-timing-function: ease-in-out;
}
@keyframes spin {
0% { transform: rotate(0deg) scale(1); }
50% { transform: rotate(720deg) scale(0.6); filter: blur(3px); }
100% { transform: rotate(0deg) scale(1); }
}
/* PULSER */
.pulser {
display: block;
float: left;
margin: 30px;
border-radius: 100px;
width: 30px;
height: 30px;
border: 10px solid #ADE;
animation-name: pulse, fadeout;
animation-duration: 1s;
animation-iteration-count: infinite;
animation-timing-function: ease-in;
}
@keyframes pulse {
0% { transform: scale(0); }
100% { transform: scale(1); filter: blur(5px); }
}
@keyframes fadeout {
85% { opacity: 1; }
100% { opacity: 0; }
}
/* DOUBLE SPINNER */
.doublespinner {
display: block;
float: left;
position: relative;
margin: 40px 30px;
border-radius: 100px;
width: 20px;
height: 20px;
border: 5px solid #57E;
border-top-color: transparent;
border-bottom-color: transparent;
animation-name: rotateclock;
animation-duration: .75s;
animation-iteration-count: infinite;
animation-timing-function: linear;
}
.doublespinner:before {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
border-radius: 100px;
width: 10px;
height: 10px;
border: 5px solid #57E;
border-left-color: transparent;
border-right-color: transparent;
}
.doublespinner:after {
content: "";
display: block;
position: absolute;
top: 5px;
left: 5px;
border-radius: 100px;
width: 0px;
height: 0px;
border: 5px solid #57E;
border-top-color: transparent;
border-bottom-color: transparent;
}
@keyframes rotateclock {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
/* BALL */
.ball {
display: block;
float: left;
width: 15px;
height: 15px;
margin: 45px 30px;
background: #4F9;
border-radius: 100px;
transform-style: preserve-3d;
animation-name: ball;
animation-duration: .75s;
animation-direction: alternate;
animation-iteration-count: infinite;
animation-timing-function: ease-in-out;
}
@keyframes ball {
0% { transform: translate3d(-30px, 0, 0px) rotate3d(0,1,0,80deg); }
100% { transform: translate3d(30px, 0, 0px) rotate3d(0,1,0,-80deg); }
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.