noble/resources/sass/_spinner.scss
2023-05-16 15:54:23 +03:00

80 lines
1.9 KiB
SCSS
Executable File

.loader-wrapper {
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
z-index: 9999;
background: $body-bg;
display: flex;
align-items: center;
justify-content: center;
.loaded & {
visibility: hidden;
opacity: 0;
-webkit-transition: all .8s ease-out;
transition: all .8s ease-out
}
.loader {
font-size: 10px;
margin: 50px auto;
text-indent: -9999em;
width: 50px;
height: 50px;
border-radius: 50%;
background: $primary;
background: -moz-linear-gradient(left, $primary 10%, rgba(0,0,0, 0) 42%);
background: -webkit-linear-gradient(left, $primary 10%, rgba(0,0,0, 0) 42%);
background: -o-linear-gradient(left, $primary 10%, rgba(0,0,0, 0) 42%);
background: -ms-linear-gradient(left, $primary 10%, rgba(0,0,0, 0) 42%);
background: linear-gradient(to right, $primary 10%, rgba(0,0,0, 0) 42%);
-webkit-animation: loading 1.4s infinite linear;
animation: loading 1.4s infinite linear;
-webkit-transform: translateZ(0);
-ms-transform: translateZ(0);
transform: translateZ(0);
&.loader:before {
width: 50%;
height: 50%;
background: $primary;
border-radius: 100% 0 0 0;
position: absolute;
top: 0;
left: 0;
content: '';
}
&.loader:after {
background: $body-bg;
width: 75%;
height: 75%;
border-radius: 50%;
content: '';
margin: auto;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
}
}
@-webkit-keyframes loading {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes loading {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}