index.module.less 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375
  1. .rankListPage {
  2. background: linear-gradient(270deg, #FBE3F6 0%, #FFDFD0 100%);
  3. min-height: 100vh;
  4. :global {
  5. .van-tabs__nav {
  6. background-color: transparent !important;
  7. justify-content: center;
  8. }
  9. .van-tab {
  10. font-size: 16px;
  11. font-weight: bold;
  12. color: rgba(0, 0, 0, 0.5);
  13. line-height: 22px;
  14. }
  15. .van-tab--active {
  16. color: rgba(19, 20, 21, 1);
  17. }
  18. .van-tabs__line {
  19. background: #2B2A2F;
  20. border-radius: 2px !important;
  21. bottom: 20px;
  22. width: 22px;
  23. }
  24. .van-tab--shrink {
  25. padding: 0 25px;
  26. }
  27. .van-calendar__day--end,
  28. .van-calendar__day--start,
  29. .van-calendar__day--start-end,
  30. .van-calendar__day--multiple-middle,
  31. .van-calendar__day--multiple-selected {
  32. background: #FF5074;
  33. }
  34. .van-overlay,
  35. .van-popup {
  36. z-index: 99999999 !important;
  37. }
  38. }
  39. .timeRange {
  40. display: flex;
  41. align-items: center;
  42. font-size: 14px;
  43. color: rgba(19, 20, 21, 0.6);
  44. .iconArrow {
  45. display: inline-block;
  46. width: 9px;
  47. height: 5px;
  48. margin-left: 3px;
  49. background: url('./images/icon-arrow.png') no-repeat center;
  50. background-size: contain;
  51. }
  52. }
  53. }
  54. .bgImg {
  55. position: fixed;
  56. top: 0;
  57. left: 0;
  58. width: 100%;
  59. height: 397px;
  60. // object-fit: cover;
  61. z-index: 0;
  62. }
  63. .sticky {
  64. :global {
  65. .van-sticky {
  66. transition: none;
  67. background: url('./images/time-bg.png') no-repeat top center;
  68. background-size: 100% 397px;
  69. }
  70. }
  71. .backArrow {
  72. position: absolute;
  73. z-index: 10;
  74. left: 13px;
  75. bottom: 8px;
  76. display: inline-block;
  77. font: 0.37333rem/1 vant-icon;
  78. font-size: inherit;
  79. text-rendering: auto;
  80. -webkit-font-smoothing: antialiased;
  81. margin-right: var(--van-padding-base);
  82. font-size: var(--van-nav-bar-arrow-size);
  83. }
  84. }
  85. .rankContainer {
  86. position: relative;
  87. }
  88. .rankLevel {
  89. padding-top: 10px;
  90. display: flex;
  91. align-items: center;
  92. justify-content: space-between;
  93. margin: 0 13px;
  94. .levelItem {
  95. width: 112px;
  96. text-align: center;
  97. &::after {
  98. content: ' ';
  99. display: block;
  100. width: 112px;
  101. height: 124px;
  102. }
  103. .levelUserImg {
  104. position: relative;
  105. width: 86px;
  106. height: 77px;
  107. margin: 0 auto;
  108. display: flex;
  109. align-items: center;
  110. justify-content: center;
  111. &::after {
  112. content: '';
  113. position: absolute;
  114. left: 0;
  115. right: 0;
  116. top: 0;
  117. bottom: 0;
  118. z-index: 1;
  119. }
  120. .img {
  121. width: 50px;
  122. height: 50px;
  123. border-radius: 50%;
  124. overflow: hidden;
  125. }
  126. }
  127. h2 {
  128. padding-top: 5px;
  129. font-size: 16px;
  130. font-weight: 600;
  131. color: #131415;
  132. line-height: 22px;
  133. }
  134. .levelTime {
  135. font-size: 12px;
  136. line-height: 17px;
  137. padding: 2px 0 8px;
  138. color: rgba(0, 0, 0, 0.6);
  139. }
  140. }
  141. .level1 {
  142. &::after {
  143. height: 142px;
  144. background: url('./images/level-1-bg.png') no-repeat center;
  145. background-size: contain;
  146. }
  147. .levelUserImg {
  148. width: 92px !important;
  149. height: 88px !important;
  150. &::after {
  151. background: url('./images/level-1-header.png') no-repeat center;
  152. background-size: contain;
  153. }
  154. }
  155. .img {
  156. width: 58px !important;
  157. height: 58px !important;
  158. }
  159. }
  160. .level2 {
  161. margin-top: 33px;
  162. &::after {
  163. background: url('./images/level-2-bg.png') no-repeat center;
  164. background-size: contain;
  165. }
  166. .levelUserImg {
  167. &::after {
  168. background: url('./images/level-2-header.png') no-repeat center;
  169. background-size: contain;
  170. }
  171. }
  172. }
  173. .level3 {
  174. margin-top: 30px;
  175. &::after {
  176. height: 118px;
  177. background: url('./images/level-3-bg.png') no-repeat center;
  178. background-size: contain;
  179. }
  180. .levelUserImg {
  181. &::after {
  182. background: url('./images/level-3-header.png') no-repeat center;
  183. background-size: contain;
  184. }
  185. }
  186. }
  187. }
  188. .rankList {
  189. background: rgba(255, 255, 255, 0.7);
  190. border-radius: 20px 20px 0px 0px;
  191. border: 2px solid #FFFFFF;
  192. backdrop-filter: blur(6px);
  193. min-height: calc(100vh - 220px - var(--header-height) - var(--bottom-height));
  194. margin: -62px 13px 0;
  195. .rankTitle {
  196. display: flex;
  197. align-items: center;
  198. justify-content: space-between;
  199. padding: 19px 12px 4px 0;
  200. .titleName {
  201. display: flex;
  202. align-items: center;
  203. &::before {
  204. content: '';
  205. display: flex;
  206. width: 4px;
  207. height: 14px;
  208. background-color: #FFA2A0;
  209. border-radius: 0px 3px 3px 0px;
  210. margin-right: 8px;
  211. }
  212. img {
  213. width: 80px;
  214. height: 16px;
  215. }
  216. }
  217. }
  218. }
  219. .rankContainer {
  220. .rankItem,
  221. .selfInfo {
  222. position: relative;
  223. background-color: transparent;
  224. padding: 6px 10px 6px 30px;
  225. border-radius: 12px;
  226. margin: 0 6px 4px;
  227. width: auto;
  228. &.active {
  229. background-color: #FFE5EA;
  230. }
  231. .num {
  232. position: absolute;
  233. left: 8px;
  234. top: 20px;
  235. font-size: 20px;
  236. font-family: DINAlternate-Bold, DINAlternate;
  237. font-weight: bold;
  238. color: #AAAAAA;
  239. line-height: 24px;
  240. }
  241. .userImg {
  242. width: 48px;
  243. height: 48px;
  244. border-radius: 50%;
  245. overflow: hidden;
  246. margin-right: 12px;
  247. flex-shrink: 0;
  248. }
  249. .userName {
  250. font-size: 16px;
  251. font-weight: 600;
  252. color: #131415;
  253. line-height: 22px;
  254. }
  255. .subjectName {
  256. font-size: 12px;
  257. color: #777777;
  258. line-height: 17px;
  259. }
  260. .times {
  261. font-size: 14px;
  262. color: #777777;
  263. line-height: 20px;
  264. span {
  265. font-size: 18px;
  266. font-family: DINAlternate-Bold, DINAlternate;
  267. font-weight: bold;
  268. color: #333333;
  269. line-height: 21px;
  270. padding-right: 4px;
  271. }
  272. }
  273. }
  274. .selfInfo {
  275. background: #FFFFFF;
  276. box-shadow: 0px 1px 12px 0px rgba(240, 192, 221, 0.43);
  277. border-radius: 20px 20px 0px 0px;
  278. margin: 0;
  279. padding: 14px 25px calc(14px + env(safe-area-inset-bottom)) 56px;
  280. .num {
  281. position: absolute;
  282. left: 30px;
  283. top: 26px;
  284. }
  285. }
  286. }
  287. .rankListDay {
  288. background: linear-gradient(180deg, #C1F2F9 0%, #D3FFFF 29%, #FFEBCE 100%);
  289. .sticky {
  290. :global {
  291. .van-sticky {
  292. background: url('./images/day-bg.png') no-repeat top center #C1F2F9;
  293. background-size: 100% 397px;
  294. }
  295. }
  296. }
  297. .rankItem,
  298. .selfInfo {
  299. &.active {
  300. background-color: rgba(228, 247, 247, 1);
  301. }
  302. }
  303. .selfInfo {
  304. box-shadow: 0px 1px 12px 0px rgba(236, 219, 196, 0.34);
  305. .num {
  306. position: absolute;
  307. left: 30px;
  308. top: 26px;
  309. }
  310. }
  311. }
  312. .emptyResult {
  313. position: absolute;
  314. width: 100%;
  315. height: calc(100vh - var(--header-height));
  316. display: flex;
  317. align-items: center;
  318. }