progress.wxss 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  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-progress {
  29. --td-progress-inner-bg-color: var(--td-brand-color, var(--td-primary-color-7, #0052d9));
  30. --td-progress-track-bg-color: var(--td-bg-color-component, var(--td-gray-color-3, #e7e7e7));
  31. --td-progress-circle-from: 0deg;
  32. }
  33. .t-progress__inner {
  34. position: relative;
  35. height: 100%;
  36. background: var(--td-progress-inner-bg-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
  37. border-radius: var(--td-radius-round, 999px);
  38. transition: all var(--td-anim-duration-base, 0.2s) var(--td-anim-time-fn-easing, cubic-bezier(0.38, 0, 0.24, 1));
  39. }
  40. .t-progress__bar {
  41. width: 100%;
  42. height: var(--td-progress-line-stroke-width, 12rpx);
  43. overflow: hidden;
  44. background: var(--td-progress-track-bg-color, var(--td-bg-color-component, var(--td-gray-color-3, #e7e7e7)));
  45. border-radius: var(--td-radius-round, 999px);
  46. }
  47. .t-progress__info {
  48. padding-left: var(--td-spacer, 16rpx);
  49. box-sizing: border-box;
  50. color: var(--td-progress-info-dark-color, var(--td-text-color-primary, var(--td-font-gray-1, rgba(0, 0, 0, 0.9))));
  51. white-space: nowrap;
  52. display: inline-flex;
  53. }
  54. .t-progress--thin {
  55. display: flex;
  56. justify-content: space-between;
  57. align-items: center;
  58. }
  59. .t-progress--thin .t-progress__icon {
  60. font-size: calc(var(--td-font-size-base, 28rpx) + 2px);
  61. }
  62. .t-progress--plump {
  63. height: var(--td-progress-stroke-plump-width, 40rpx);
  64. border-radius: calc(var(--td-progress-stroke-plump-width, 40rpx) / 2);
  65. display: flex;
  66. align-items: center;
  67. }
  68. .t-progress--plump .t-progress__info {
  69. font-size: var(--td-font-size-s, 24rpx);
  70. }
  71. .t-progress--over-ten .t-progress__info {
  72. position: absolute;
  73. top: 50%;
  74. right: var(--td-spacer, 16rpx);
  75. color: var(--td-progress-info-light-color, var(--td-text-color-anti, var(--td-font-white-1, #ffffff)));
  76. transform: translateY(-50%);
  77. }
  78. .t-progress--under-ten .t-progress__info,
  79. .t-progress--under-ten .t-progress__inner {
  80. display: inline-block;
  81. }
  82. .t-progress--under-ten .t-progress__info {
  83. vertical-align: top;
  84. }
  85. .t-progress__canvas--circle {
  86. position: relative;
  87. width: var(--td-progress-circle-width, 224rpx);
  88. height: var(--td-progress-circle-width, 224rpx);
  89. border-radius: var(--td-radius-circle, 50%);
  90. }
  91. .t-progress__canvas--circle .t-progress__canvas--inner {
  92. position: absolute;
  93. left: 50%;
  94. top: 50%;
  95. transform: translate(-50%, -50%);
  96. width: calc(100% - var(--td-progress-stroke-circle-width, 12rpx)*2);
  97. height: calc(100% - var(--td-progress-stroke-circle-width, 12rpx)*2);
  98. border-radius: var(--td-radius-circle, 50%);
  99. display: flex;
  100. flex-direction: row;
  101. justify-content: center;
  102. align-items: center;
  103. background-color: var(--td-progress-circle-inner-bg-color, var(--td-text-color-anti, var(--td-font-white-1, #ffffff)));
  104. }
  105. .t-progress__canvas--circle .t-progress__info {
  106. margin: 0;
  107. font-size: var(--td-progress-circle-label-font-size, 40rpx);
  108. font-weight: var(--td-progress-circle-label-font-weight, 700);
  109. line-height: var(--td-progress-circle-label-line-height, 56rpx);
  110. overflow: hidden;
  111. text-overflow: ellipsis;
  112. display: -webkit-box;
  113. -webkit-box-orient: vertical;
  114. -webkit-line-clamp: 2;
  115. }
  116. .t-progress__canvas--circle .t-progress__icon {
  117. font-size: 96rpx;
  118. }
  119. .t-progress--status--active .t-progress__inner::before {
  120. position: absolute;
  121. top: 0;
  122. right: 0;
  123. bottom: 0;
  124. left: 0;
  125. z-index: 1;
  126. content: '';
  127. animation: progress-active-animation 2s cubic-bezier(0.23, 0.99, 0.86, 0.2) infinite;
  128. background: var(--td-progress-inner-bg-color-active, var(--td-bg-color-container, var(--td-font-white-1, #ffffff)));
  129. opacity: 0.2;
  130. }
  131. .t-progress--status--success .t-progress__inner {
  132. background: var(--td-progress-inner-bg-color-success, var(--td-success-color, var(--td-success-color-5, #2ba471)));
  133. }
  134. .t-progress--status--success .t-progress__icon {
  135. color: var(--td-success-color, var(--td-success-color-5, #2ba471));
  136. }
  137. .t-progress--status--warning .t-progress__inner {
  138. background: var(--td-progress-inner-bg-color-warning, var(--td-warning-color, var(--td-warning-color-5, #e37318)));
  139. }
  140. .t-progress--status--warning .t-progress__icon {
  141. color: var(--td-warning-color, var(--td-warning-color-5, #e37318));
  142. }
  143. .t-progress--status--error .t-progress__inner {
  144. background: var(--td-progress-inner-bg-color-error, var(--td-error-color, var(--td-error-color-6, #d54941)));
  145. }
  146. .t-progress--status--error .t-progress__icon {
  147. color: var(--td-error-color, var(--td-error-color-6, #d54941));
  148. }
  149. @keyframes progress-active-animation {
  150. 0% {
  151. width: 0;
  152. opacity: 0.1;
  153. }
  154. 35% {
  155. width: 50%;
  156. opacity: 0.4;
  157. }
  158. 100% {
  159. width: 100%;
  160. opacity: 0;
  161. }
  162. }