react-js-loader
Version:
animation loader and spinner for react js
91 lines (83 loc) • 2.15 kB
CSS
.sl-spinner2,
.sl-spinner2 * {
padding: 0;
margin: 0;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.sl-spinner2 {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
.sl-spinner2 .sl-loader {
width: 100px;
-webkit-transform: scale(var(--size));
transform: scale(var(--size));
}
.sl-spinner2 .sl-loader-title {
width: 100%;
text-align: center;
font-size: 20px;
line-height: 1.7;
font-weight: 700;
color: var(--cl);
}
.sl-spinner2 .sl-loader-items {
width: 100%;
height: 100px;
position: relative;
}
.sl-spinner2 .sl-loader .sl-loader-items .sl-item {
-webkit-transform: rotate(calc(var(--i) * 45deg));
transform: rotate(calc(var(--i) * 45deg));
-webkit-transform-origin: 50px 50px;
transform-origin: 50px 50px;
}
.sl-spinner2 .sl-loader .sl-loader-items .sl-item::after {
content: "";
display: block;
position: absolute;
top: 25px;
left: 25px;
width: 10px;
height: 10px;
background-color: var(--bg);
border-radius: 50%;
-webkit-animation: sl-spinner2 800ms linear infinite;
animation: sl-spinner2 800ms linear infinite;
-webkit-animation-delay: calc(var(--i) * 100ms);
animation-delay: calc(var(--i) * 100ms);
}
@-webkit-keyframes sl-spinner2 {
to {
-webkit-transform: scale(1, 1);
transform: scale(1, 1);
}
from {
-webkit-transform: scale(1.5, 1.5);
transform: scale(1.5, 1.5);
}
}
@keyframes sl-spinner2 {
to {
-webkit-transform: scale(1, 1);
transform: scale(1, 1);
}
from {
-webkit-transform: scale(1.5, 1.5);
transform: scale(1.5, 1.5);
}
}