loading.wxss 4.6 KB

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