rank.wxss 4.2 KB

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