tabs.wxss 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  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-tabs {
  29. position: relative;
  30. font-size: var(--td-tab-font-size, 28rpx);
  31. background: var(--td-tab-nav-bg-color, var(--td-bg-color-container, var(--td-font-white-1, #ffffff)));
  32. flex-wrap: wrap;
  33. }
  34. .t-tabs__wrapper {
  35. display: flex;
  36. overflow: hidden;
  37. background: var(--td-tab-nav-bg-color, var(--td-bg-color-container, var(--td-font-white-1, #ffffff)));
  38. }
  39. .t-tabs__wrapper--card {
  40. background: var(--td-tab-item-tag-bg, var(--td-bg-color-secondarycontainer, var(--td-gray-color-1, #f3f3f3)));
  41. --td-tab-border-color: transparent;
  42. }
  43. .t-tabs__item {
  44. position: relative;
  45. display: flex;
  46. flex: none;
  47. align-items: center;
  48. justify-content: center;
  49. font-weight: 400;
  50. color: var(--td-tab-item-color, var(--td-text-color-primary, var(--td-font-gray-1, rgba(0, 0, 0, 0.9))));
  51. padding: 0 var(--td-spacer-2, 32rpx);
  52. box-sizing: border-box;
  53. white-space: nowrap;
  54. overflow: hidden;
  55. height: var(--td-tab-item-height, 96rpx);
  56. }
  57. .t-tabs__item--active {
  58. font-weight: 600;
  59. color: var(--td-tab-item-active-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
  60. }
  61. .t-tabs__item--disabled {
  62. color: var(--td-tab-item-disabled-color, var(--td-text-color-disabled, var(--td-font-gray-4, rgba(0, 0, 0, 0.26))));
  63. }
  64. .t-tabs__item--evenly {
  65. flex: 1 0 auto;
  66. }
  67. .t-tabs__item-inner {
  68. display: flex;
  69. align-items: center;
  70. justify-content: center;
  71. }
  72. .t-tabs__item-inner--tag {
  73. width: 100%;
  74. text-align: center;
  75. padding: 0 var(--td-spacer-2, 32rpx);
  76. line-height: var(--td-tab-item-tag-height, 64rpx);
  77. border-radius: calc(var(--td-tab-item-tag-height, 64rpx) / 2);
  78. background-color: var(--td-tab-item-tag-bg, var(--td-bg-color-secondarycontainer, var(--td-gray-color-1, #f3f3f3)));
  79. }
  80. .t-tabs__item-inner--active.t-tabs__item-inner--tag {
  81. background-color: var(--td-tab-item-tag-active-bg, var(--td-brand-color-light, var(--td-primary-color-1, #f2f3ff)));
  82. }
  83. .t-tabs__item--tag:not(.t-tabs__item--evenly) {
  84. padding: 0 calc(var(--td-spacer, 16rpx) / 2);
  85. }
  86. .t-tabs__item--tag:not(.t-tabs__item--evenly):first-child {
  87. margin-left: var(--td-spacer, 16rpx);
  88. }
  89. .t-tabs__item--tag:not(.t-tabs__item--evenly):last-child {
  90. padding-right: var(--td-spacer-1, 24rpx);
  91. }
  92. .t-tabs__item--tag {
  93. padding: 0 var(--td-spacer, 16rpx);
  94. }
  95. .t-tabs__item--card.t-tabs__item--active {
  96. background-color: var(--td-tab-nav-bg-color, var(--td-bg-color-container, var(--td-font-white-1, #ffffff)));
  97. border-radius: var(--td-radius-large, 18rpx) var(--td-radius-large, 18rpx) 0 0;
  98. }
  99. .t-tabs__item--card.t-tabs__item--active:first-child {
  100. border-top-left-radius: 0;
  101. }
  102. .t-tabs__item--card.t-tabs__item--active:last-child {
  103. border-top-right-radius: 0;
  104. }
  105. .t-tabs__item--card.t-tabs__item--pre {
  106. border-bottom-right-radius: var(--td-radius-large, 18rpx);
  107. }
  108. .t-tabs__item-prefix,
  109. .t-tabs__item-suffix {
  110. position: absolute;
  111. bottom: 0;
  112. width: 18rpx;
  113. height: 18rpx;
  114. background-color: var(--td-tab-nav-bg-color, var(--td-bg-color-container, var(--td-font-white-1, #ffffff)));
  115. }
  116. .t-tabs__item-prefix::after,
  117. .t-tabs__item-suffix::after {
  118. content: '';
  119. display: block;
  120. width: 100%;
  121. height: 100%;
  122. background-color: var(--td-tab-item-tag-bg, var(--td-bg-color-secondarycontainer, var(--td-gray-color-1, #f3f3f3)));
  123. }
  124. .t-tabs__item-prefix {
  125. right: 0;
  126. }
  127. .t-tabs__item-prefix::after {
  128. border-bottom-right-radius: var(--td-radius-large, 18rpx);
  129. }
  130. .t-tabs__item-suffix {
  131. left: 0;
  132. }
  133. .t-tabs__item-suffix::after {
  134. border-bottom-left-radius: var(--td-radius-large, 18rpx);
  135. }
  136. .t-tabs__badge--active {
  137. --td-badge-content-text-color: var(--td-tab-item-active-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
  138. }
  139. .t-tabs__badge--disabled {
  140. --td-badge-content-text-color: var(--td-tab-item-disabled-color, var(--td-text-color-disabled, var(--td-font-gray-4, rgba(0, 0, 0, 0.26))));
  141. }
  142. .t-tabs__icon {
  143. font-size: var(--td-tab-icon-size, 36rpx);
  144. margin-right: calc(var(--td-spacer, 16rpx) / 4);
  145. }
  146. .t-tabs__content {
  147. overflow: hidden;
  148. }
  149. .t-tabs__nav {
  150. position: relative;
  151. user-select: none;
  152. display: flex;
  153. flex-wrap: nowrap;
  154. align-items: center;
  155. }
  156. .t-tabs__nav.t-tabs__nav--evenly {
  157. width: 100%;
  158. }
  159. .t-tabs__track {
  160. position: absolute;
  161. font-weight: 600;
  162. z-index: 1;
  163. transition-duration: 0.3s;
  164. background-color: var(--td-tab-track-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
  165. left: 0;
  166. bottom: 1rpx;
  167. width: var(--td-tab-track-width, 32rpx);
  168. height: var(--td-tab-track-thickness, 6rpx);
  169. border-radius: var(--td-tab-track-radius, 8rpx);
  170. }
  171. .t-tabs__scroll {
  172. position: relative;
  173. height: var(--td-tab-item-height, 96rpx);
  174. }
  175. .t-tabs__scroll--split {
  176. position: relative;
  177. }
  178. .t-tabs__scroll--split::after {
  179. content: '';
  180. display: block;
  181. position: absolute;
  182. top: unset;
  183. bottom: 0;
  184. left: unset;
  185. right: unset;
  186. background-color: var(--td-tab-border-color, var(--td-component-stroke, var(--td-gray-color-3, #e7e7e7)));
  187. }
  188. .t-tabs__scroll--split::after {
  189. height: 1px;
  190. left: 0;
  191. right: 0;
  192. transform: scaleY(0.5);
  193. }
  194. .t-tabs__scroll::-webkit-scrollbar {
  195. display: none;
  196. }
  197. .t-tabs__content {
  198. width: 100%;
  199. }
  200. .t-tabs__content-inner {
  201. display: block;
  202. }
  203. .t-tabs__content--animated .t-tabs__content-inner {
  204. position: relative;
  205. width: 100%;
  206. height: 100%;
  207. display: flex;
  208. will-change: left;
  209. transition-property: transform;
  210. }