loading.wxss 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. .t-float-left {
  2. float: left;
  3. }
  4. .t-float-right {
  5. float: right;
  6. }
  7. @keyframes tdesign-fade-out {
  8. from {
  9. opacity: 1;
  10. }
  11. to {
  12. opacity: 0;
  13. }
  14. }
  15. .hotspot-expanded.relative {
  16. position: relative;
  17. }
  18. .hotspot-expanded::after {
  19. content: '';
  20. display: block;
  21. position: absolute;
  22. left: 0;
  23. top: 0;
  24. right: 0;
  25. bottom: 0;
  26. transform: scale(1.5);
  27. }
  28. .t-loading {
  29. display: inline-flex;
  30. align-items: center;
  31. justify-content: center;
  32. }
  33. .t-loading__spinner {
  34. position: relative;
  35. box-sizing: border-box;
  36. width: 100%;
  37. height: 100%;
  38. max-width: 100%;
  39. max-height: 100%;
  40. animation: rotate 0.8s linear infinite;
  41. color: #0052d9;
  42. }
  43. .t-loading__spinner.reverse {
  44. animation-name: rotateReverse;
  45. }
  46. .t-loading__spinner--spinner {
  47. animation-timing-function: steps(12);
  48. }
  49. .t-loading__spinner--spinner .t-loading__dot {
  50. position: absolute;
  51. top: 0;
  52. left: 0;
  53. width: 100%;
  54. height: 100%;
  55. }
  56. .t-loading__spinner--spinner .t-loading__dot::before {
  57. display: block;
  58. width: 5rpx;
  59. height: 25%;
  60. margin: 0 auto;
  61. background-color: currentColor;
  62. border-radius: 40%;
  63. content: ' ';
  64. }
  65. .t-loading__spinner--circular .t-loading__circular {
  66. border-radius: 100%;
  67. width: 100%;
  68. height: 100%;
  69. background: conic-gradient(from 180deg at 50% 50%, rgba(255, 255, 255, 0) 0deg, rgba(255, 255, 255, 0) 60deg, currentColor 330deg, rgba(255, 255, 255, 0) 360deg);
  70. mask: radial-gradient(transparent calc(50% - 1rpx), #fff 50%);
  71. /* stylelint-disable-next-line */
  72. -webkit-mask: radial-gradient(transparent calc(50% - 1rpx), #fff 50%);
  73. }
  74. .t-loading__spinner--dots {
  75. display: flex;
  76. justify-content: space-between;
  77. align-items: center;
  78. animation: none;
  79. }
  80. .t-loading__spinner--dots .t-loading__dot {
  81. width: 20%;
  82. height: 20%;
  83. border-radius: 50%;
  84. background-color: currentColor;
  85. animation-duration: 1.8s;
  86. animation-name: dotting;
  87. animation-timing-function: linear;
  88. animation-iteration-count: infinite;
  89. animation-fill-mode: both;
  90. }
  91. .t-loading--vertical {
  92. flex-direction: column;
  93. }
  94. .t-loading--vertical .t-loading__text {
  95. margin-top: 12rpx;
  96. }
  97. .t-loading--horizontal {
  98. flex-direction: row;
  99. }
  100. .t-loading--horizontal .t-loading__text {
  101. margin-left: 16rpx;
  102. }
  103. .t-loading__refresh-btn {
  104. margin-left: 16rpx;
  105. color: #0052d9;
  106. }
  107. .t-loading__bar {
  108. height: 6rpx;
  109. width: 80%;
  110. transition: 0.5s;
  111. background-color: #0052d9;
  112. display: none;
  113. }
  114. .t-loading__bar--static {
  115. display: block;
  116. }
  117. .t-loading__bar--loaded {
  118. opacity: 0;
  119. height: 0;
  120. animation: t-bar-loaded 1s ease-out;
  121. }
  122. .t-loading__bar--animation {
  123. animation: t-bar 8s linear;
  124. display: block;
  125. }
  126. @keyframes t-bar {
  127. 0% {
  128. width: 0;
  129. }
  130. 50% {
  131. width: 70%;
  132. }
  133. 100% {
  134. width: 80%;
  135. }
  136. }
  137. @keyframes t-bar-loaded {
  138. 0% {
  139. height: 6rpx;
  140. opacity: 1;
  141. width: 90%;
  142. }
  143. 50% {
  144. height: 6rpx;
  145. opacity: 1;
  146. width: 100%;
  147. }
  148. 100% {
  149. height: 0;
  150. opacity: 0;
  151. width: 100%;
  152. }
  153. }
  154. .t-loading__dot:nth-of-type(1) {
  155. transform: rotate(30deg);
  156. opacity: 0;
  157. }
  158. .t-loading__dot:nth-of-type(2) {
  159. transform: rotate(60deg);
  160. opacity: 0.08333333;
  161. }
  162. .t-loading__dot:nth-of-type(3) {
  163. transform: rotate(90deg);
  164. opacity: 0.16666667;
  165. }
  166. .t-loading__dot:nth-of-type(4) {
  167. transform: rotate(120deg);
  168. opacity: 0.25;
  169. }
  170. .t-loading__dot:nth-of-type(5) {
  171. transform: rotate(150deg);
  172. opacity: 0.33333333;
  173. }
  174. .t-loading__dot:nth-of-type(6) {
  175. transform: rotate(180deg);
  176. opacity: 0.41666667;
  177. }
  178. .t-loading__dot:nth-of-type(7) {
  179. transform: rotate(210deg);
  180. opacity: 0.5;
  181. }
  182. .t-loading__dot:nth-of-type(8) {
  183. transform: rotate(240deg);
  184. opacity: 0.58333333;
  185. }
  186. .t-loading__dot:nth-of-type(9) {
  187. transform: rotate(270deg);
  188. opacity: 0.66666667;
  189. }
  190. .t-loading__dot:nth-of-type(10) {
  191. transform: rotate(300deg);
  192. opacity: 0.75;
  193. }
  194. .t-loading__dot:nth-of-type(11) {
  195. transform: rotate(330deg);
  196. opacity: 0.83333333;
  197. }
  198. .t-loading__dot:nth-of-type(12) {
  199. transform: rotate(360deg);
  200. opacity: 0.91666667;
  201. }
  202. @keyframes rotate {
  203. from {
  204. transform: rotate(0deg);
  205. }
  206. to {
  207. transform: rotate(360deg);
  208. }
  209. }
  210. @keyframes rotateReverse {
  211. from {
  212. transform: rotate(360deg);
  213. }
  214. to {
  215. transform: rotate(0deg);
  216. }
  217. }
  218. @keyframes dotting {
  219. 0% {
  220. opacity: 0.4;
  221. }
  222. 1% {
  223. opacity: 0.8;
  224. }
  225. 33% {
  226. opacity: 0.8;
  227. }
  228. 34% {
  229. opacity: 0.4;
  230. }
  231. 100% {
  232. opacity: 0.4;
  233. }
  234. }