CSS and SVG recreation of the new Google material design loading spinner.
Forked from Fran Pérez's Pen Material Design Spinner.
A Pen by Captain Anonymous on CodePen.
<svg class="spinner" width="65px" height="65px" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg"> | |
<circle class="path" fill="none" stroke-width="6" stroke-linecap="round" cx="33" cy="33" r="30"></circle> | |
</svg> |
CSS and SVG recreation of the new Google material design loading spinner.
Forked from Fran Pérez's Pen Material Design Spinner.
A Pen by Captain Anonymous on CodePen.
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> |
// This is just to center the spinner | |
html, body { height: 100%; } | |
body { | |
display: flex; | |
align-items: center; | |
justify-content: center; | |
} | |
// Here is where the magic happens | |
$offset: 180; | |
$duration: 1.4s; | |
.spinner { | |
animation: rotator $duration linear infinite; | |
stroke: #4285F4; | |
} | |
@keyframes rotator { | |
0% { transform: rotate(0deg); } | |
100% { transform: rotate(0deg); } | |
} | |
.path { | |
stroke-dasharray: $offset; | |
stroke-dashoffset: 0; | |
transform-origin: center; | |
animation: | |
dash $duration ease-in-out infinite; | |
} | |
@keyframes colors { | |
0% { stroke: #4285F4; } | |
25% { stroke: #DE3E35; } | |
50% { stroke: #F7C223; } | |
75% { stroke: #1B9A59; } | |
100% { stroke: #4285F4; } | |
} | |
@keyframes dash { | |
0% { stroke-dashoffset: $offset; } | |
50% { | |
stroke-dashoffset: $offset/4; | |
transform:rotate(0deg); | |
} | |
100% { | |
stroke-dashoffset: $offset; | |
transform:rotate(0deg); | |
} | |
} |