| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- $ball-color:#30a1f2;
- $ball-size:.15rem;
- $ball-margin:.02rem;
- $loader-radius:.25rem;
- @function delay($interval, $count, $index) {
- @return ($index * $interval) - ($interval * $count);
- }
- @keyframes ball-spin-fade-loader {
- 50% {
- opacity: 0.3;
- transform: scale(0.4);
- }
- 100% {
- opacity: 1;
- transform: scale(1);
- }
- }
- @mixin ball-spin-fade-loader($n:8,$start:1){
- @for $i from $start through $n {
- > div:nth-child(#{$i}) {
- $quarter: ($loader-radius/2) + ($loader-radius/5.5);
- @if $i == 1 {
- top: $loader-radius;
- left: 0;
- } @else if $i == 2 {
- top: $quarter;
- left: $quarter;
- } @else if $i == 3 {
- top: 0;
- left: $loader-radius;
- } @else if $i == 4 {
- top: -$quarter;
- left: $quarter;
- } @else if $i == 5 {
- top: -$loader-radius;
- left: 0;
- } @else if $i == 6 {
- top: -$quarter;
- left: -$quarter;
- } @else if $i == 7 {
- top: 0;
- left: -$loader-radius;
- } @else if $i == 8 {
- top: $quarter;
- left: -$quarter;
- }
- animation: ball-spin-fade-loader 1s delay(0.12s, $n, $i - 1) infinite linear;
- }
- }
- }
- .loading-box{
- align-items: center;
- justify-content: center;
- position: fixed;
- left: 0;
- right: 0;
- top: 0;
- bottom: 0;
- z-index: 9999;
- &-bg{
- position: absolute;
- left: 0;
- top: 0;
- height: 100%;
- width: 100%;
- background: rgba(255,255,255,.7);
- }
- &-inner{
- @include ball-spin-fade-loader();
- position: relative;
- >div{
- position: absolute;
- width: $ball-size;
- height: $ball-size;
- border-radius: 50%;
- margin: $ball-margin;
- background-color: $ball-color;
- animation-fill-mode: both;
- }
- }
- }
|