loading.wxss 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  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-primary-color, #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. .t-loading__refresh-btn {
  111. margin-left: 16rpx;
  112. color: var(--td-loading-color, var(--td-primary-color, #0052d9));
  113. }
  114. .t-loading__bar {
  115. height: 6rpx;
  116. width: 80%;
  117. transition: 0.5s;
  118. background-color: var(--td-loading-color, var(--td-primary-color, #0052d9));
  119. display: none;
  120. }
  121. .t-loading__bar--static {
  122. display: block;
  123. }
  124. .t-loading__bar--loaded {
  125. opacity: 0;
  126. height: 0;
  127. animation: t-bar-loaded 1s ease-out;
  128. }
  129. .t-loading__bar--animation {
  130. animation: t-bar 8s linear;
  131. display: block;
  132. }
  133. @keyframes t-bar {
  134. 0% {
  135. width: 0;
  136. }
  137. 50% {
  138. width: 70%;
  139. }
  140. 100% {
  141. width: 80%;
  142. }
  143. }
  144. @keyframes t-bar-loaded {
  145. 0% {
  146. height: 6rpx;
  147. opacity: 1;
  148. width: 90%;
  149. }
  150. 50% {
  151. height: 6rpx;
  152. opacity: 1;
  153. width: 100%;
  154. }
  155. 100% {
  156. height: 0;
  157. opacity: 0;
  158. width: 100%;
  159. }
  160. }
  161. .t-loading__dot:nth-of-type(1) {
  162. transform: rotate(30deg);
  163. opacity: 0;
  164. }
  165. .t-loading__dot:nth-of-type(2) {
  166. transform: rotate(60deg);
  167. opacity: 0.08333333;
  168. }
  169. .t-loading__dot:nth-of-type(3) {
  170. transform: rotate(90deg);
  171. opacity: 0.16666667;
  172. }
  173. .t-loading__dot:nth-of-type(4) {
  174. transform: rotate(120deg);
  175. opacity: 0.25;
  176. }
  177. .t-loading__dot:nth-of-type(5) {
  178. transform: rotate(150deg);
  179. opacity: 0.33333333;
  180. }
  181. .t-loading__dot:nth-of-type(6) {
  182. transform: rotate(180deg);
  183. opacity: 0.41666667;
  184. }
  185. .t-loading__dot:nth-of-type(7) {
  186. transform: rotate(210deg);
  187. opacity: 0.5;
  188. }
  189. .t-loading__dot:nth-of-type(8) {
  190. transform: rotate(240deg);
  191. opacity: 0.58333333;
  192. }
  193. .t-loading__dot:nth-of-type(9) {
  194. transform: rotate(270deg);
  195. opacity: 0.66666667;
  196. }
  197. .t-loading__dot:nth-of-type(10) {
  198. transform: rotate(300deg);
  199. opacity: 0.75;
  200. }
  201. .t-loading__dot:nth-of-type(11) {
  202. transform: rotate(330deg);
  203. opacity: 0.83333333;
  204. }
  205. .t-loading__dot:nth-of-type(12) {
  206. transform: rotate(360deg);
  207. opacity: 0.91666667;
  208. }
  209. @keyframes rotate {
  210. from {
  211. transform: rotate(0deg);
  212. }
  213. to {
  214. transform: rotate(360deg);
  215. }
  216. }
  217. @keyframes rotateReverse {
  218. from {
  219. transform: rotate(360deg);
  220. }
  221. to {
  222. transform: rotate(0deg);
  223. }
  224. }
  225. @keyframes dotting {
  226. 0% {
  227. opacity: 0.15;
  228. }
  229. 1% {
  230. opacity: 0.8;
  231. }
  232. 33% {
  233. opacity: 0.8;
  234. }
  235. 34% {
  236. opacity: 0.15;
  237. }
  238. 100% {
  239. opacity: 0.15;
  240. }
  241. }