react-js-loader
Version:
animation loader and spinner for react js
92 lines (84 loc) • 2.31 kB
CSS
.sl-box1,
.sl-box1 * {
padding: 0;
margin: 0;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.sl-box1 {
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-box1 .sl-loader-title {
width: 100%;
text-align: center;
font-size: 20px;
font-weight: 700;
line-height: 1.7;
color: var(--cl);
}
.sl-box1 .sl-loader {
width: 100px;
-webkit-transform: scale(var(--size));
transform: scale(var(--size));
}
.sl-box1 .sl-loader .sl-loader-items {
width: 100%;
height: 100px;
-webkit-perspective: 100px;
perspective: 100px;
}
.sl-box1 .sl-loader .sl-loader-items .sl-parent-cub {
width: 100px;
height: 100px;
position: relative;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-transform-origin: 50% 50% -50px;
transform-origin: 50% 50% -50px;
}
.sl-box1 .sl-loader .sl-loader-items .sl-parent-cub .sl-cub {
width: 50px;
height: 50px;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
position: absolute;
background-color: var(--bg);
-webkit-animation: sl-box1 500ms ease infinite;
animation: sl-box1 500ms ease infinite;
}
@-webkit-keyframes sl-box1 {
to {
-webkit-transform: translate(-50%, -50%) rotateX(0deg);
transform: translate(-50%, -50%) rotateX(0deg);
}
from {
-webkit-transform: translate(-50%, -50%) rotateX(180deg);
transform: translate(-50%, -50%) rotateX(180deg);
}
}
@keyframes sl-box1 {
to {
-webkit-transform: translate(-50%, -50%) rotateX(0deg);
transform: translate(-50%, -50%) rotateX(0deg);
}
from {
-webkit-transform: translate(-50%, -50%) rotateX(180deg);
transform: translate(-50%, -50%) rotateX(180deg);
}
}