loading.wxss 4.2 KB

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