8
0

loading.css 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. .loading {
  2. display: flex;
  3. width: 100%;
  4. height: 100%;
  5. justify-content: center;
  6. align-items: center;
  7. flex-direction: column;
  8. background-color: #f4f7f9
  9. }
  10. .loading .loading-wrap {
  11. position: absolute;
  12. top: 50%;
  13. left: 50%;
  14. display: flex;
  15. -webkit-transform: translate3d(-50%, -50%, 0);
  16. transform: translate3d(-50%, -50%, 0);
  17. justify-content: center;
  18. align-items: center;
  19. flex-direction: column
  20. }
  21. .loading .dots {
  22. display: flex;
  23. padding: 98px;
  24. justify-content: center;
  25. align-items: center
  26. }
  27. .loading .loading-title {
  28. display: flex;
  29. font-weight: bold;
  30. margin-top: 30px;
  31. font-size: 18px;
  32. color: rgba(0, 0, 0, .85);
  33. justify-content: center;
  34. align-items: center
  35. }
  36. .dot {
  37. position: relative;
  38. display: inline-block;
  39. width: 40px;
  40. height: 40px;
  41. margin-top: 30px;
  42. font-size: 28px;
  43. transform: rotate(45deg);
  44. box-sizing: border-box;
  45. animation: antRotate 1.2s infinite linear
  46. }
  47. .dot i {
  48. position: absolute;
  49. display: block;
  50. width: 20px;
  51. height: 20px;
  52. background-color: #0065cc;
  53. border-radius: 100%;
  54. opacity: .3;
  55. transform: scale(.75);
  56. animation: antSpinMove 1s infinite linear alternate;
  57. transform-origin: 50% 50%
  58. }
  59. .dot i:nth-child(1) {
  60. top: 0;
  61. left: 0
  62. }
  63. .dot i:nth-child(2) {
  64. top: 0;
  65. right: 0;
  66. -webkit-animation-delay: .4s;
  67. animation-delay: .4s
  68. }
  69. .dot i:nth-child(3) {
  70. right: 0;
  71. bottom: 0;
  72. -webkit-animation-delay: .8s;
  73. animation-delay: .8s
  74. }
  75. .dot i:nth-child(4) {
  76. bottom: 0;
  77. left: 0;
  78. -webkit-animation-delay: 1.2s;
  79. animation-delay: 1.2s
  80. }
  81. @keyframes antRotate {
  82. to {
  83. -webkit-transform: rotate(405deg);
  84. transform: rotate(405deg)
  85. }
  86. }
  87. @-webkit-keyframes antRotate {
  88. to {
  89. -webkit-transform: rotate(405deg);
  90. transform: rotate(405deg)
  91. }
  92. }
  93. @keyframes antSpinMove {
  94. to {
  95. opacity: 1
  96. }
  97. }
  98. @-webkit-keyframes antSpinMove {
  99. to {
  100. opacity: 1
  101. }
  102. }
  103. #loader-wrapper {
  104. position: fixed;
  105. top: 0;
  106. left: 0;
  107. width: 100%;
  108. height: 100%;
  109. z-index: 99999;
  110. background-color: #151a26;
  111. }
  112. #loader-wrapper .loader-box {
  113. position: fixed;
  114. left: calc(50% - 250px);
  115. top: calc(50% - 100px);
  116. margin: 0 auto;
  117. width: 500px;
  118. height: 200px;
  119. text-align: center;
  120. vertical-align: center;
  121. font-weight: bold;
  122. color: #87888E;
  123. font-size: 35px;
  124. }
  125. #loader-wrapper .loader-box > span {
  126. opacity: 0.4;
  127. display: inline-block;
  128. animation: bouncingLoader 1s infinite alternate;
  129. }
  130. #loader-wrapper .loader-box > span:nth-child(2) {
  131. animation-delay: 0.1s;
  132. }
  133. #loader-wrapper .loader-box > span:nth-child(3) {
  134. animation-delay: 0.2s;
  135. }
  136. #loader-wrapper .loader-box > span:nth-child(4) {
  137. animation-delay: 0.3s;
  138. }
  139. #loader-wrapper .loader-box > span:nth-child(5) {
  140. animation-delay: 0.4s;
  141. }
  142. #loader-wrapper .loader-box > span:nth-child(6) {
  143. animation-delay: 0.5s;
  144. }
  145. #loader-wrapper .loader-box > span:nth-child(7) {
  146. animation-delay: 0.6s;
  147. }
  148. @keyframes bouncingLoader {
  149. 0% {
  150. transform: translateY(0);
  151. }
  152. 50% {
  153. transform: translateY(25px);
  154. }
  155. 100% {
  156. transform: translateY(0);
  157. }
  158. }
  159. #loader-wrapper .loader-title {
  160. font-weight: bold;
  161. z-index: 1002;
  162. position: absolute;
  163. top: 50%;
  164. margin-top: 15px;
  165. color: #87888E;
  166. font-size: 18px;
  167. width: 100%;
  168. height: 30px;
  169. text-align: center;
  170. opacity: 0.4;
  171. line-height: 30px;
  172. }