netlify-cms-react-starter/src/components/Spinner.css
2018-02-16 11:19:32 +10:00

93 lines
2.3 KiB
CSS

.Spinner {
position: fixed;
bottom: 1rem;
right: 1rem;
z-index: 2;
display: flex;
align-items: center;
justify-content: center;
background: rgba(255, 255, 255, 1);
border-radius: 50%;
padding: 0.5rem;
animation: SpinnerPopIn 0.3s ease-out;
}
@keyframes SpinnerPopIn {
from {
transform: scale(0);
}
}
.semipolar-spinner,
.semipolar-spinner * {
box-sizing: border-box;
}
.semipolar-spinner {
--size: 6rem;
--duration: 750ms;
--color: var(--primary);
height: var(--size);
width: var(--size);
position: relative;
}
.semipolar-spinner .ring {
border-radius: 50%;
position: absolute;
border: calc(var(--size) * 0.05) solid transparent;
border-top-color: var(--color);
border-left-color: var(--color);
animation: semipolar-spinner-animation 2s infinite;
}
.semipolar-spinner .ring:nth-child(1) {
height: calc(var(--size) - var(--size) * 0.2 * 0);
width: calc(var(--size) - var(--size) * 0.2 * 0);
top: calc(var(--size) * 0.1 * 0);
left: calc(var(--size) * 0.1 * 0);
animation-delay: calc(var(--duration) * 0.1 * 4);
z-index: 5;
}
.semipolar-spinner .ring:nth-child(2) {
height: calc(var(--size) - var(--size) * 0.2 * 1);
width: calc(var(--size) - var(--size) * 0.2 * 1);
top: calc(var(--size) * 0.1 * 1);
left: calc(var(--size) * 0.1 * 1);
animation-delay: calc(var(--duration) * 0.1 * 3);
z-index: 4;
}
.semipolar-spinner .ring:nth-child(3) {
height: calc(var(--size) - var(--size) * 0.2 * 2);
width: calc(var(--size) - var(--size) * 0.2 * 2);
top: calc(var(--size) * 0.1 * 2);
left: calc(var(--size) * 0.1 * 2);
animation-delay: calc(var(--duration) * 0.1 * 2);
z-index: 3;
}
.semipolar-spinner .ring:nth-child(4) {
height: calc(var(--size) - var(--size) * 0.2 * 3);
width: calc(var(--size) - var(--size) * 0.2 * 3);
top: calc(var(--size) * 0.1 * 3);
left: calc(var(--size) * 0.1 * 3);
animation-delay: calc(var(--duration) * 0.1 * 1);
z-index: 2;
}
.semipolar-spinner .ring:nth-child(5) {
height: calc(var(--size) - var(--size) * 0.2 * 4);
width: calc(var(--size) - var(--size) * 0.2 * 4);
top: calc(var(--size) * 0.1 * 4);
left: calc(var(--size) * 0.1 * 4);
animation-delay: calc(var(--duration) * 0.1 * 0);
z-index: 1;
}
@keyframes semipolar-spinner-animation {
50% {
transform: rotate(360deg) scale(0.7);
}
}