index.wxss 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322
  1. page {
  2. background: #f2ece4;
  3. }
  4. .container {
  5. min-height: 100vh;
  6. background: #f2ece4;
  7. padding-bottom: 140rpx;
  8. }
  9. /* ======== Banner ======== */
  10. .banner {
  11. position: relative;
  12. background: linear-gradient(160deg, #5c2a0e 0%, #8B4513 40%, #a0521a 70%, #7a3610 100%);
  13. padding: 70rpx 40rpx 60rpx;
  14. overflow: hidden;
  15. }
  16. /* 装饰圆点 */
  17. .banner-deco {
  18. position: absolute;
  19. border-radius: 50%;
  20. opacity: 0.12;
  21. background: #fff;
  22. }
  23. .deco-tl { width: 280rpx; height: 280rpx; top: -100rpx; left: -80rpx; }
  24. .deco-tr { width: 180rpx; height: 180rpx; top: -60rpx; right: -40rpx; }
  25. .deco-bl { width: 240rpx; height: 240rpx; bottom: -120rpx; left: 30rpx; }
  26. .banner-content {
  27. position: relative;
  28. display: flex;
  29. flex-direction: column;
  30. align-items: center;
  31. }
  32. .banner-subtitle {
  33. font-size: 26rpx;
  34. color: rgba(255,220,160,0.85);
  35. letter-spacing: 8rpx;
  36. margin-bottom: 16rpx;
  37. }
  38. .banner-title-row {
  39. display: flex;
  40. align-items: center;
  41. gap: 20rpx;
  42. margin-bottom: 18rpx;
  43. }
  44. .banner-line {
  45. width: 60rpx;
  46. height: 2rpx;
  47. background: rgba(255,220,160,0.6);
  48. }
  49. .banner-title {
  50. font-size: 64rpx;
  51. font-weight: 800;
  52. color: #fff;
  53. letter-spacing: 6rpx;
  54. text-shadow: 0 4rpx 12rpx rgba(0,0,0,0.3);
  55. }
  56. .banner-motto {
  57. display: flex;
  58. align-items: center;
  59. gap: 12rpx;
  60. margin-bottom: 48rpx;
  61. }
  62. .banner-dot {
  63. font-size: 24rpx;
  64. color: rgba(255,210,130,0.7);
  65. }
  66. .motto-text {
  67. font-size: 26rpx;
  68. color: rgba(255,230,180,0.9);
  69. letter-spacing: 4rpx;
  70. }
  71. /* 统计栏 */
  72. .banner-stats {
  73. display: flex;
  74. align-items: center;
  75. background: rgba(0,0,0,0.2);
  76. border-radius: 50rpx;
  77. padding: 16rpx 48rpx;
  78. gap: 40rpx;
  79. }
  80. .stat-item {
  81. display: flex;
  82. flex-direction: column;
  83. align-items: center;
  84. }
  85. .stat-num {
  86. font-size: 32rpx;
  87. font-weight: 700;
  88. color: #ffd280;
  89. }
  90. .stat-label {
  91. font-size: 20rpx;
  92. color: rgba(255,230,180,0.7);
  93. margin-top: 4rpx;
  94. }
  95. .stat-sep {
  96. width: 1rpx;
  97. height: 48rpx;
  98. background: rgba(255,255,255,0.2);
  99. }
  100. /* ======== Section wrapper ======== */
  101. .section-wrap {
  102. padding: 40rpx 30rpx 0;
  103. }
  104. .section-label {
  105. display: flex;
  106. align-items: center;
  107. gap: 16rpx;
  108. margin-bottom: 24rpx;
  109. }
  110. .label-line {
  111. flex: 1;
  112. height: 1rpx;
  113. background: linear-gradient(90deg, transparent, #c8a882);
  114. }
  115. .label-line:last-child {
  116. background: linear-gradient(90deg, #c8a882, transparent);
  117. }
  118. .label-text {
  119. font-size: 28rpx;
  120. font-weight: 700;
  121. color: #7a4510;
  122. letter-spacing: 4rpx;
  123. white-space: nowrap;
  124. }
  125. /* ======== Function Grid ======== */
  126. .function-grid {
  127. display: grid;
  128. grid-template-columns: repeat(2, 1fr);
  129. gap: 20rpx;
  130. margin-bottom: 16rpx;
  131. }
  132. .function-card {
  133. background: #fff;
  134. border-radius: 24rpx;
  135. padding: 36rpx 24rpx 28rpx;
  136. display: flex;
  137. flex-direction: column;
  138. align-items: center;
  139. box-shadow: 0 4rpx 20rpx rgba(139,69,19,0.08);
  140. border: 1rpx solid rgba(200,168,130,0.25);
  141. }
  142. .function-card:active {
  143. opacity: 0.85;
  144. transform: scale(0.97);
  145. }
  146. .func-icon-wrap {
  147. width: 96rpx;
  148. height: 96rpx;
  149. border-radius: 28rpx;
  150. display: flex;
  151. align-items: center;
  152. justify-content: center;
  153. margin-bottom: 20rpx;
  154. box-shadow: 0 6rpx 16rpx rgba(0,0,0,0.15);
  155. }
  156. .func-emoji {
  157. font-size: 44rpx;
  158. }
  159. .func-title {
  160. font-size: 30rpx;
  161. font-weight: 700;
  162. color: #2c1a08;
  163. margin-bottom: 8rpx;
  164. }
  165. .func-desc {
  166. font-size: 22rpx;
  167. color: #b08060;
  168. }
  169. /* ======== Committee Card ======== */
  170. .committee-card {
  171. background: linear-gradient(160deg, #0e1c2f 0%, #172a44 60%, #0c1a2c 100%);
  172. border-radius: 24rpx;
  173. overflow: hidden;
  174. box-shadow: 0 8rpx 32rpx rgba(0,0,0,0.2);
  175. border: 1rpx solid rgba(100,150,220,0.15);
  176. margin-bottom: 16rpx;
  177. }
  178. .committee-row {
  179. display: flex;
  180. align-items: center;
  181. padding: 30rpx 32rpx;
  182. gap: 24rpx;
  183. }
  184. .c-row-top {
  185. align-items: flex-start;
  186. }
  187. .c-divider {
  188. height: 1rpx;
  189. background: rgba(255,255,255,0.06);
  190. margin: 0 32rpx;
  191. }
  192. .c-icon-wrap {
  193. width: 68rpx;
  194. height: 68rpx;
  195. border-radius: 18rpx;
  196. display: flex;
  197. align-items: center;
  198. justify-content: center;
  199. flex-shrink: 0;
  200. }
  201. .c-icon {
  202. font-size: 28rpx;
  203. color: #fff;
  204. }
  205. .icon-gold { background: linear-gradient(135deg, #b07800, #e0a800); }
  206. .icon-blue { background: linear-gradient(135deg, #1755a8, #2878d8); }
  207. .icon-green { background: linear-gradient(135deg, #0f6e40, #18a862); }
  208. .icon-purple { background: linear-gradient(135deg, #5a2ea8, #8855d8); }
  209. .icon-cyan { background: linear-gradient(135deg, #0a6880, #12a0c0); }
  210. .c-body {
  211. flex: 1;
  212. min-width: 0;
  213. }
  214. .c-role {
  215. display: block;
  216. font-size: 22rpx;
  217. color: rgba(160,195,240,0.6);
  218. letter-spacing: 2rpx;
  219. margin-bottom: 10rpx;
  220. }
  221. .c-name {
  222. font-size: 32rpx;
  223. font-weight: 600;
  224. color: #e8eef8;
  225. }
  226. .c-name-long {
  227. font-size: 26rpx;
  228. line-height: 1.6;
  229. color: #c8d8f0;
  230. }
  231. .member-tags {
  232. display: flex;
  233. flex-wrap: wrap;
  234. gap: 12rpx;
  235. margin-top: 2rpx;
  236. }
  237. .member-tag {
  238. font-size: 24rpx;
  239. color: #90c0f0;
  240. background: rgba(40,120,216,0.18);
  241. border: 1rpx solid rgba(40,120,216,0.4);
  242. border-radius: 30rpx;
  243. padding: 6rpx 20rpx;
  244. }
  245. .member-tag-more {
  246. font-size: 24rpx;
  247. color: rgba(160,195,240,0.4);
  248. padding: 6rpx 8rpx;
  249. align-self: center;
  250. }
  251. /* ======== Footer ======== */
  252. .footer {
  253. text-align: center;
  254. padding: 40rpx 30rpx 20rpx;
  255. }
  256. .footer-deco {
  257. display: flex;
  258. align-items: center;
  259. gap: 16rpx;
  260. margin-bottom: 16rpx;
  261. }
  262. .footer-line {
  263. flex: 1;
  264. height: 1rpx;
  265. background: rgba(180,140,90,0.3);
  266. }
  267. .footer-icon {
  268. font-size: 20rpx;
  269. color: rgba(180,140,90,0.5);
  270. }
  271. .copyright {
  272. font-size: 22rpx;
  273. color: #b8926a;
  274. letter-spacing: 1rpx;
  275. }