ball-spin-fade-loader.scss 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. @import '../variables';
  2. @import '../mixins';
  3. @import '../functions';
  4. $radius: 25px;
  5. @keyframes ball-spin-fade-loader {
  6. 50% {
  7. opacity: 0.3;
  8. transform: scale(0.4);
  9. }
  10. 100% {
  11. opacity: 1;
  12. transform: scale(1);
  13. }
  14. }
  15. @mixin ball-spin-fade-loader($n:8, $start:1) {
  16. @for $i from $start through $n {
  17. > div:nth-child(#{$i}) {
  18. $iter: 360 / $n;
  19. $quarter: ($radius / 2) + ($radius / 5.5);
  20. @if $i == 1 {
  21. top: $radius;
  22. left: 0;
  23. } @else if $i == 2 {
  24. top: $quarter;
  25. left: $quarter;
  26. } @else if $i == 3 {
  27. top: 0;
  28. left: $radius;
  29. } @else if $i == 4 {
  30. top: -$quarter;
  31. left: $quarter;
  32. } @else if $i == 5 {
  33. top: -$radius;
  34. left: 0;
  35. } @else if $i == 6 {
  36. top: -$quarter;
  37. left: -$quarter;
  38. } @else if $i == 7 {
  39. top: 0;
  40. left: -$radius;
  41. } @else if $i == 8 {
  42. top: $quarter;
  43. left: -$quarter;
  44. }
  45. animation: ball-spin-fade-loader 1s delay(0.12s, $n, $i - 1) infinite linear;
  46. }
  47. }
  48. }
  49. .ball-spin-fade-loader {
  50. @include ball-spin-fade-loader();
  51. position: relative;
  52. top: -10px;
  53. left: -10px;
  54. > div {
  55. @include balls();
  56. @include global-animation();
  57. position: absolute;
  58. }
  59. }