react-js-loader
Version:
animation loader and spinner for react js
91 lines (83 loc) • 2.12 kB
CSS
.sl-spinner1,
.sl-spinner1 * {
padding: 0;
margin: 0;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.sl-spinner1 {
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-spinner1 .sl-loader {
width: 100px;
-webkit-transform: scale(var(--size));
transform: scale(var(--size));
}
.sl-spinner1 .sl-loader-title {
width: 100%;
text-align: center;
font-size: 20px;
line-height: 1.7;
font-weight: 700;
color: var(--cl);
}
.sl-spinner1 .sl-loader .sl-loader-items {
width: 100%;
height: 100px;
position: relative;
-webkit-transform: rotateY(180deg);
transform: rotateY(180deg);
}
.sl-spinner1 .sl-loader .sl-loader-items .sl-item {
-webkit-transform: rotate(calc(var(--i) * 30deg));
transform: rotate(calc(var(--i) * 30deg));
-webkit-animation: sl-spinner1 1.2s linear infinite;
animation: sl-spinner1 1.2s linear infinite;
-webkit-animation-delay: calc(var(--i) * -100ms);
animation-delay: calc(var(--i) * -100ms);
-webkit-transform-origin: 50px 50px;
transform-origin: 50px 50px;
}
.sl-spinner1 .sl-loader .sl-loader-items .sl-item::after {
content: "";
display: block;
position: absolute;
top: 3px;
left: 47px;
width: 7px;
height: 21px;
background-color: var(--bg);
border-radius: 20%;
-webkit-box-shadow: -1px 1px 2px 1px rgba(0, 0, 0, 0.2);
box-shadow: -1px 1px 2px 1px rgba(0, 0, 0, 0.2);
}
@-webkit-keyframes sl-spinner1 {
to {
opacity: 0;
}
from {
opacity: 1;
}
}
@keyframes sl-spinner1 {
to {
opacity: 0;
}
from {
opacity: 1;
}
}