/**index.wxss**/ page { height: 100vh; display: flex; flex-direction: column; background-color: #f6f7f9; } .scrollarea { flex: 1; } .container { padding: 0; display: flex; flex-direction: column; } /* 顶部背景区 */ .header-bg { width: 100%; height: 380rpx; background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); border-bottom-left-radius: 40rpx; border-bottom-right-radius: 40rpx; padding: 40rpx; box-sizing: border-box; display: flex; justify-content: center; /* 加上一点阴影 */ box-shadow: 0 10rpx 20rpx rgba(79, 172, 254, 0.2); } .header-content { width: 100%; display: flex; justify-content: space-between; align-items: center; /* 垂直居中 */ margin-top: 20rpx; height: 140rpx; /* 固定高度确保对齐 */ } .text-area { display: flex; flex-direction: column; justify-content: center; } .greeting { color: rgba(255, 255, 255, 0.9); font-size: 28rpx; margin-bottom: 10rpx; } .nickname { color: #ffffff; font-size: 48rpx; font-weight: bold; letter-spacing: 2rpx; } .avatar-wrapper { padding: 6rpx; background: rgba(255, 255, 255, 0.3); border-radius: 50%; } .avatar { width: 120rpx; height: 120rpx; border-radius: 50%; background-color: #fff; border: 4rpx solid #ffffff; } /* 主要内容区 */ .main-content { flex: 1; width: 100%; padding: 0 30rpx; box-sizing: border-box; margin-top: -80rpx; /* 向上浮动覆盖 Header */ z-index: 10; padding-bottom: 40rpx; } .section-title { font-size: 32rpx; font-weight: bold; color: #333; margin-left: 10rpx; margin-bottom: 20rpx; display: none; /* 卡片式设计不需要标题也行,或保留 */ } /* 一行两列或三列的卡片 */ .grid-container { display: flex; flex-direction: column; /* 垂直排列的卡片列表看起来更像菜单 */ gap: 24rpx; } /* 单个卡片样式 */ .grid-item { background-color: #ffffff; border-radius: 24rpx; padding: 30rpx; display: flex; align-items: center; box-shadow: 0 4rpx 16rpx rgba(0,0,0,0.04); transition: all 0.2s ease; } .grid-item-hover { transform: scale(0.98); background-color: #fafafa; } .icon-box { width: 100rpx; height: 100rpx; border-radius: 20rpx; display: flex; align-items: center; justify-content: center; margin-right: 30rpx; } .icon { font-size: 50rpx; } .bg-gradient-blue { background: linear-gradient(135deg, #e0c3fc 0%, #8ec5fc 100%); } .bg-gradient-green { background: linear-gradient(135deg, #d299c2 0%, #fef9d7 100%); } /* 替换为柔和的莫兰迪色或渐变 */ .bg-gradient-blue { background: #e3f2fd; color: #2196f3; } .bg-gradient-green { background: #e8f5e9; color: #4caf50; } .bg-gradient-orange { background: #fff3e0; color: #ff9800; } .bg-gradient-purple { background: #f3e5f5; color: #9c27b0; } .bg-gradient-pink { background: #ffebee; color: #e91e63; } .text-box { display: flex; flex-direction: column; } .label { font-size: 32rpx; color: #333; font-weight: 600; margin-bottom: 6rpx; } .sub-label { font-size: 24rpx; color: #999; } /* Banner */ .banner { margin-top: 40rpx; background: linear-gradient(to right, #4facfe, #00f2fe); border-radius: 24rpx; padding: 30rpx 40rpx; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 8rpx 20rpx rgba(79, 172, 254, 0.3); } .banner-text { display: flex; flex-direction: column; } .banner-title { color: #fff; font-weight: bold; font-size: 30rpx; margin-bottom: 8rpx; } .banner-desc { color: rgba(255,255,255,0.8); font-size: 24rpx; } .banner-icon { font-size: 40rpx; }