body {
padding: 0;
margin: 0;
}
.outer, .inner, .cover {
border-radius: 50%;
height: 200px;
width: 200px;
box-sizing: border-box;
}
.outer {
background: linear-gradient(to right, transparent 0%, transparent 50%, #7db9e8 50%, #7db9e8 100%);
position: absolute;
top: 0;
}
.outer.opp {
background: linear-gradient(to right, #7db9e8 0%, #7db9e8 50%, transparent 50%, transparent 100%);
}
.inner {
background: linear-gradient(to right, transparent 0%, transparent 50%, #ccc 50%, #ccc 100%);
padding: 5px;
-webkit-animation: spin 5s 2s linear forwards;
}
.inner.opp {
background: linear-gradient(to right, #ccc 0%, #ccc 50%, transparent 50%, transparent 100%);
-webkit-animation: spin2 5s 7s linear forwards;
}
.cover {
background: #ccc;
height: 190px;
width: 190px;
position: absolute;
top: 5px;
left: 5px;
z-index: 5;
}
img {
margin-left: 35px;
margin-top: 45px;
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0);
}
99.99% {
background: linear-gradient(to right, transparent 0%, transparent 50%, #ccc 50%, #ccc 100%);
}
100% {
-webkit-transform: rotate(-180deg);
background: linear-gradient(to right, transparent 0%, transparent 50%, transparent 50%, transparent 100%);
}
}
@-webkit-keyframes spin2 {
0% {
-webkit-transform: rotate(0);
}
99.99% {
background: linear-gradient(to right, #ccc 0%, #ccc 50%, transparent 50%, transparent 100%);
}
100% {
background: linear-gradient(to right, transparent 0%, transparent 50%, transparent 50%, transparent 100%);
-webkit-transform: rotate(-180deg);
}
}
.gray {
opacity: 0;
-webkit-animation: appear 0s 12s forwards;
position: absolute;
top: 0px;
}
.gray .outer {
background: linear-gradient(to right, transparent 0%, transparent 50%, #ccc 50%, #ccc 100%);
}
.gray .outer.opp {
background: linear-gradient(to right, #ccc 0%, #ccc 50%, transparent 50, transparent 100%);
}
.gray .inner {
background: linear-gradient(to right, transparent 0%, transparent 50%, #7db9e8 50%, #7db9e8 100%);
-webkit-animation: spin-gray 5s 12s linear forwards;
}
.gray .inner.opp {
background: linear-gradient(to right, #7db9e8 0%, #7db9e8 50%, #ccc 50%, #ccc 100%);
-webkit-animation: spin-gray2 5s 17s linear forwards;
}
@-webkit-keyframes appear {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@-webkit-keyframes spin-gray {
0% {
-webkit-transform: rotate(0);
}
99.99% {
background: linear-gradient(to right, transparent 0%, transparent 50%, #7db9e8 50%, #7db9e8 100%);
}
100% {
-webkit-transform: rotate(-180deg);
background: linear-gradient(to right, transparent 0%, transparent 50%, transparent 50%, transparent 100%);
}
}
@-webkit-keyframes spin-gray2 {
0% {
-webkit-transform: rotate(0);
}
100% {
-webkit-transform: rotate(-180deg);
}
}
<div class="opp outer">
<div class="opp inner">
</div>
</div>
<div class="outer">
<div class="inner">
</div>
</div>
<div class="gray">
<div class="opp outer">
<div class="opp inner">
</div>
</div>
<div class="outer">
<div class="inner">
</div>
</div>
</div>
<div class="cover">
<img src="http://media.giphy.com/media/aHKpXstxvNf56/giphy.gif" height="90"></div>