rank.wxss 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. .page-rank {
  2. display: flex;
  3. flex-direction: column;
  4. background: #f5f6fb;
  5. height: 100vh;
  6. }
  7. .page-title-card {
  8. background: #ffffff;
  9. padding: 30rpx 0;
  10. text-align: center;
  11. box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.08);
  12. border-radius: 0;
  13. }
  14. .page-title-text {
  15. font-size: 36rpx;
  16. font-weight: 800;
  17. color: #3F51F7;
  18. letter-spacing: 2rpx;
  19. }
  20. .scroll-view {
  21. flex: 1;
  22. height: 0;
  23. }
  24. .content-wrapper {
  25. padding: 32rpx;
  26. }
  27. /* 模拟资产卡片 */
  28. .portfolio-card {
  29. background: linear-gradient(135deg, #5d55e8, #7568ff);
  30. border-radius: 24rpx;
  31. padding: 40rpx 32rpx;
  32. margin-bottom: 32rpx;
  33. box-shadow: 0 16rpx 40rpx rgba(93, 85, 232, 0.3);
  34. }
  35. .portfolio-header {
  36. display: flex;
  37. align-items: center;
  38. margin-bottom: 32rpx;
  39. }
  40. .portfolio-icon {
  41. font-size: 40rpx;
  42. margin-right: 16rpx;
  43. }
  44. .portfolio-title {
  45. font-size: 32rpx;
  46. font-weight: 600;
  47. color: #ffffff;
  48. }
  49. .portfolio-content {
  50. display: flex;
  51. justify-content: space-between;
  52. align-items: flex-end;
  53. }
  54. .portfolio-main {
  55. flex: 1;
  56. }
  57. .portfolio-label {
  58. font-size: 24rpx;
  59. color: rgba(255, 255, 255, 0.8);
  60. margin-bottom: 12rpx;
  61. }
  62. .portfolio-amount {
  63. font-size: 56rpx;
  64. font-weight: 700;
  65. color: #ffffff;
  66. line-height: 1.2;
  67. }
  68. .portfolio-profit {
  69. text-align: right;
  70. }
  71. .profit-label {
  72. font-size: 22rpx;
  73. color: rgba(255, 255, 255, 0.7);
  74. margin-bottom: 8rpx;
  75. }
  76. .profit-value {
  77. font-size: 28rpx;
  78. font-weight: 600;
  79. }
  80. .profit-positive {
  81. color: #4fffb0;
  82. }
  83. .profit-negative {
  84. color: #ff6b9d;
  85. }
  86. /* 排行榜区域 */
  87. .leaderboard-section {
  88. background: #ffffff;
  89. border-radius: 24rpx;
  90. padding: 32rpx;
  91. box-shadow: 0 16rpx 40rpx rgba(37, 52, 94, 0.08);
  92. }
  93. .section-header {
  94. display: flex;
  95. align-items: center;
  96. margin-bottom: 24rpx;
  97. }
  98. .trophy-icon {
  99. font-size: 36rpx;
  100. margin-right: 12rpx;
  101. }
  102. .section-title {
  103. font-size: 32rpx;
  104. font-weight: 600;
  105. color: #222222;
  106. }
  107. /* 当前用户排名卡片 */
  108. .my-rank-card {
  109. background: linear-gradient(135deg, #fff9e6, #fffbf0);
  110. border: 2rpx solid #ffd966;
  111. border-radius: 16rpx;
  112. padding: 24rpx 28rpx;
  113. display: flex;
  114. align-items: center;
  115. margin-bottom: 24rpx;
  116. }
  117. .rank-number {
  118. font-size: 40rpx;
  119. font-weight: 700;
  120. color: #ff9800;
  121. margin-right: 24rpx;
  122. min-width: 80rpx;
  123. }
  124. .rank-info {
  125. flex: 1;
  126. }
  127. .rank-name {
  128. font-size: 28rpx;
  129. color: #333333;
  130. font-weight: 500;
  131. }
  132. .rank-rate {
  133. font-size: 32rpx;
  134. font-weight: 700;
  135. }
  136. .rate-positive {
  137. color: #00c853;
  138. }
  139. .rate-negative {
  140. color: #ff5252;
  141. }
  142. /* 排行榜列表 */
  143. .leaderboard-list {
  144. margin-bottom: 24rpx;
  145. }
  146. .leaderboard-item {
  147. display: flex;
  148. align-items: center;
  149. padding: 24rpx 0;
  150. border-bottom: 1rpx solid #f5f6fb;
  151. }
  152. .leaderboard-item:last-child {
  153. border-bottom: none;
  154. }
  155. .rank-badge {
  156. font-size: 32rpx;
  157. font-weight: 700;
  158. color: #666666;
  159. margin-right: 24rpx;
  160. min-width: 80rpx;
  161. }
  162. .rank-first {
  163. color: #ff5252;
  164. }
  165. .rank-second {
  166. color: #ff9800;
  167. }
  168. .rank-third {
  169. color: #ffc107;
  170. }
  171. .user-info {
  172. flex: 1;
  173. }
  174. .user-name {
  175. font-size: 28rpx;
  176. color: #333333;
  177. }
  178. .user-rate {
  179. font-size: 32rpx;
  180. font-weight: 700;
  181. }
  182. .leaderboard-note {
  183. padding-top: 16rpx;
  184. border-top: 1rpx solid #f5f6fb;
  185. }
  186. .note-text {
  187. font-size: 22rpx;
  188. color: #999999;
  189. line-height: 1.6;
  190. }
  191. .bottom-safe-area {
  192. height: 80rpx;
  193. }
  194. /* 模糊效果 */
  195. .blur-content {
  196. filter: blur(8rpx);
  197. pointer-events: none;
  198. }
  199. /* 登录遮罩层 */
  200. .login-mask {
  201. position: fixed;
  202. top: 0;
  203. left: 0;
  204. right: 0;
  205. bottom: 0;
  206. background: rgba(0, 0, 0, 0.4);
  207. display: flex;
  208. align-items: center;
  209. justify-content: center;
  210. z-index: 999;
  211. }
  212. .login-prompt {
  213. width: 560rpx;
  214. max-width: 560rpx;
  215. background: #ffffff;
  216. border-radius: 24rpx;
  217. padding: 50rpx 40rpx;
  218. margin: 0 auto;
  219. text-align: center;
  220. box-shadow: 0 20rpx 60rpx rgba(0, 0, 0, 0.3);
  221. box-sizing: border-box;
  222. }
  223. .lock-icon {
  224. font-size: 72rpx;
  225. margin-bottom: 20rpx;
  226. }
  227. .prompt-title {
  228. display: block;
  229. font-size: 32rpx;
  230. font-weight: 600;
  231. color: #222222;
  232. margin-bottom: 12rpx;
  233. }
  234. .prompt-desc {
  235. display: block;
  236. font-size: 24rpx;
  237. color: #999999;
  238. line-height: 1.5;
  239. margin-bottom: 32rpx;
  240. }
  241. .login-button-native {
  242. width: 100%;
  243. height: 80rpx;
  244. background: linear-gradient(135deg, #4CAF50, #66BB6A);
  245. color: #ffffff;
  246. border-radius: 40rpx;
  247. font-size: 30rpx;
  248. font-weight: 600;
  249. box-shadow: 0 8rpx 24rpx rgba(76, 175, 80, 0.4);
  250. display: flex;
  251. align-items: center;
  252. justify-content: center;
  253. border: none;
  254. padding: 0;
  255. line-height: 80rpx;
  256. }
  257. .login-button-native::after {
  258. border: none;
  259. }
  260. .button-icon {
  261. font-size: 32rpx;
  262. margin-right: 12rpx;
  263. }