loading.css 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. @charset "UTF-8";
  2. @import "./common/var.css";
  3. @component-namespace el {
  4. @b loading-mask {
  5. position: absolute;
  6. z-index: 10000;
  7. background-color: rgba(255, 255, 255, .9);
  8. margin: 0;
  9. top: 0;
  10. right: 0;
  11. bottom: 0;
  12. left: 0;
  13. transition: opacity 0.3s;
  14. @when fullscreen {
  15. position: fixed;
  16. .el-loading-spinner {
  17. margin-top: calc(- var(--loading-fullscreen-spinner-size) / 2);
  18. .circular {
  19. size: var(--loading-fullscreen-spinner-size);
  20. }
  21. }
  22. }
  23. }
  24. @b loading-spinner {
  25. top: 50%;
  26. margin-top: calc(- var(--loading-spinner-size) / 2);
  27. width: 100%;
  28. text-align: center;
  29. position: absolute;
  30. .el-loading-text {
  31. color: var(--color-primary);
  32. margin: 3px 0;
  33. font-size: 14px;
  34. }
  35. .circular {
  36. size: var(--loading-spinner-size);
  37. animation: loading-rotate 2s linear infinite;
  38. }
  39. .path {
  40. animation: loading-dash 1.5s ease-in-out infinite;
  41. stroke-dasharray: 90, 150;
  42. stroke-dashoffset: 0;
  43. stroke-width: 2;
  44. stroke: var(--color-primary);
  45. stroke-linecap: round;
  46. }
  47. }
  48. }
  49. .el-loading-fade-enter,
  50. .el-loading-fade-leave-active {
  51. opacity: 0;
  52. }
  53. @keyframes loading-rotate {
  54. 100% {
  55. transform: rotate(360deg);
  56. }
  57. }
  58. @keyframes loading-dash {
  59. 0% {
  60. stroke-dasharray: 1, 200;
  61. stroke-dashoffset: 0;
  62. }
  63. 50% {
  64. stroke-dasharray: 90, 150;
  65. stroke-dashoffset: -40px;
  66. }
  67. 100% {
  68. stroke-dasharray: 90, 150;
  69. stroke-dashoffset: -120px;
  70. }
  71. }