loader.css 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. body {
  2. margin: 0;
  3. }
  4. html {
  5. overflow-x: hidden;
  6. overflow-y: scroll;
  7. }
  8. #loading-bg {
  9. position: absolute;
  10. display: flex;
  11. flex-direction: column;
  12. align-items: center;
  13. justify-content: center;
  14. background: var(--initial-loader-bg, #fff);
  15. block-size: 100%;
  16. gap: 1rem 0;
  17. inline-size: 100%;
  18. }
  19. .loading {
  20. position: relative;
  21. box-sizing: border-box;
  22. border: 3px solid transparent;
  23. border-radius: 50%;
  24. block-size: 55px;
  25. inline-size: 55px;
  26. }
  27. .loading .effect-1,
  28. .loading .effect-2,
  29. .loading .effect-3 {
  30. position: absolute;
  31. box-sizing: border-box;
  32. border: 3px solid transparent;
  33. border-radius: 50%;
  34. block-size: 100%;
  35. border-inline-start: 3px solid var(--initial-loader-color, #eee);
  36. inline-size: 100%;
  37. }
  38. .loading .effect-1 {
  39. animation: rotate 1s ease infinite;
  40. }
  41. .loading .effect-2 {
  42. animation: rotate-opacity 1s ease infinite 0.1s;
  43. }
  44. .loading .effect-3 {
  45. animation: rotate-opacity 1s ease infinite 0.2s;
  46. }
  47. .loading .effects {
  48. transition: all 0.3s ease;
  49. }
  50. @keyframes rotate {
  51. 0% {
  52. transform: rotate(0deg);
  53. }
  54. 100% {
  55. transform: rotate(1turn);
  56. }
  57. }
  58. @keyframes rotate-opacity {
  59. 0% {
  60. opacity: 0.1;
  61. transform: rotate(0deg);
  62. }
  63. 100% {
  64. opacity: 1;
  65. transform: rotate(1turn);
  66. }
  67. }