react-js-loader
Version:
animation loader and spinner for react js
129 lines (120 loc) • 3.31 kB
CSS
.sl-heart1,
.sl-heart1 * {
padding: 0;
margin: 0;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.sl-heart1 {
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-heart1 .sl-loader {
width: 100px;
-webkit-transform: scale(var(--size));
transform: scale(var(--size));
}
.sl-heart1 .sl-loader-title {
width: 100%;
text-align: center;
font-weight: 700;
line-height: 1.7;
font-size: 20px;
color: var(--cl);
}
.sl-heart1 .sl-loader .sl-loader-items {
width: 100%;
height: 100px;
position: relative;
}
.sl-heart1 .sl-loader .sl-loader-items .sl-heart {
width: 40px;
height: 40px;
border-radius: 50%;
position: absolute;
left: 50%;
top: 50%;
-webkit-transform: translate(-85%, -75%);
transform: translate(-85%, -75%);
background-color: var(--bg);
-webkit-animation: sl-heart1 1000ms linear infinite;
animation: sl-heart1 1000ms linear infinite;
}
.sl-heart1 .sl-loader .sl-loader-items .sl-heart::after {
content: "";
width: 100%;
height: 100%;
border-radius: 50%;
position: absolute;
left: 30px;
top: 0;
background-color: var(--bg);
}
.sl-heart1 .sl-loader .sl-loader-items .sl-heart::before {
content: "";
width: 100%;
height: 100%;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
position: absolute;
left: 15px;
top: 15px;
background-color: var(--bg);
}
@-webkit-keyframes sl-heart1 {
to {
-webkit-transform: translate(-60%, -60%) scale(0.5);
transform: translate(-60%, -60%) scale(0.5);
}
30% {
-webkit-transform: translate(-80%, -70%) scale(0.8);
transform: translate(-80%, -70%) scale(0.8);
}
60% {
-webkit-transform: translate(-60%, -60%) scale(0.5);
transform: translate(-60%, -60%) scale(0.5);
}
80% {
-webkit-transform: translate(-80%, -70%) scale(0.8);
transform: translate(-80%, -70%) scale(0.8);
}
from {
-webkit-transform: translate(-85%, -75%) scale(1);
transform: translate(-85%, -75%) scale(1);
}
}
@keyframes sl-heart1 {
to {
-webkit-transform: translate(-60%, -60%) scale(0.5);
transform: translate(-60%, -60%) scale(0.5);
}
30% {
-webkit-transform: translate(-80%, -70%) scale(0.8);
transform: translate(-80%, -70%) scale(0.8);
}
60% {
-webkit-transform: translate(-60%, -60%) scale(0.5);
transform: translate(-60%, -60%) scale(0.5);
}
80% {
-webkit-transform: translate(-80%, -70%) scale(0.8);
transform: translate(-80%, -70%) scale(0.8);
}
from {
-webkit-transform: translate(-85%, -75%) scale(1);
transform: translate(-85%, -75%) scale(1);
}
}