progress.wxss 4.2 KB

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