You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
224 lines
4.7 KiB
224 lines
4.7 KiB
/* pages/profile/profile.wxss */
|
|
|
|
page {
|
|
background-color: #f0f7ff;
|
|
height: 100%;
|
|
}
|
|
|
|
.page-container {
|
|
min-height: 100vh;
|
|
background: linear-gradient(180deg, #f0f7ff 0%, #eef5ff 100%);
|
|
padding-bottom: 100rpx;
|
|
}
|
|
|
|
/* 顶部用户信息区域 */
|
|
.user-header {
|
|
background: linear-gradient(135deg, #5ba8ff 0%, #7ec8ff 100%);
|
|
padding: 40rpx 30rpx;
|
|
padding-top: 10rpx;
|
|
color: white;
|
|
margin-top: 0;
|
|
position: relative;
|
|
}
|
|
|
|
.user-avatar-section {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-bottom: 40rpx;
|
|
}
|
|
|
|
.user-avatar {
|
|
width: 120rpx;
|
|
height: 120rpx;
|
|
border-radius: 50%;
|
|
border: 4rpx solid rgba(255, 255, 255, 0.3);
|
|
margin-right: 30rpx;
|
|
}
|
|
|
|
.user-info {
|
|
flex: 1;
|
|
}
|
|
|
|
.user-name {
|
|
font-size: 36rpx;
|
|
font-weight: bold;
|
|
display: block;
|
|
margin-bottom: 10rpx;
|
|
}
|
|
|
|
.user-id, .user-level {
|
|
font-size: 24rpx;
|
|
opacity: 0.9;
|
|
display: block;
|
|
margin-bottom: 5rpx;
|
|
}
|
|
|
|
.user-stats {
|
|
display: flex;
|
|
justify-content: space-around;
|
|
text-align: center;
|
|
}
|
|
|
|
.stat-item {
|
|
padding: 20rpx 0;
|
|
}
|
|
|
|
.stat-number {
|
|
font-size: 32rpx;
|
|
font-weight: bold;
|
|
display: block;
|
|
margin-bottom: 10rpx;
|
|
}
|
|
|
|
.stat-label {
|
|
font-size: 24rpx;
|
|
opacity: 0.9;
|
|
}
|
|
|
|
/* 功能菜单区域 */
|
|
.menu-section {
|
|
padding: 30rpx;
|
|
}
|
|
|
|
.menu-group {
|
|
background: #ffffff;
|
|
border-radius: 20rpx;
|
|
margin-bottom: 30rpx;
|
|
overflow: hidden;
|
|
box-shadow: 0 8rpx 24rpx rgba(91, 168, 255, 0.16);
|
|
}
|
|
|
|
.group-title {
|
|
display: block;
|
|
padding: 30rpx 30rpx 20rpx;
|
|
font-size: 28rpx;
|
|
font-weight: 800;
|
|
color: #2a4a7a;
|
|
border-bottom: 1rpx solid #eef2f7;
|
|
}
|
|
|
|
.menu-list {
|
|
padding: 0;
|
|
}
|
|
|
|
.menu-item {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 30rpx;
|
|
border-bottom: 1rpx solid #f8f8f8;
|
|
transition: background-color 0.3s;
|
|
}
|
|
|
|
.menu-item:active {
|
|
background-color: #f8f8f8;
|
|
}
|
|
|
|
.menu-item:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.menu-icon {
|
|
width: 40rpx;
|
|
height: 40rpx;
|
|
margin-right: 20rpx;
|
|
}
|
|
|
|
.menu-text {
|
|
flex: 1;
|
|
font-size: 28rpx;
|
|
color: #3d4d66;
|
|
}
|
|
|
|
.menu-emoji {
|
|
font-size: 40rpx;
|
|
margin-right: 20rpx;
|
|
line-height: 1;
|
|
}
|
|
|
|
.menu-arrow {
|
|
font-size: 24rpx;
|
|
color: #999;
|
|
}
|
|
|
|
.menu-switch {
|
|
margin-left: auto;
|
|
}
|
|
|
|
/* 红点提醒样式 */
|
|
.red-dot {
|
|
position: absolute;
|
|
top: 6rpx;
|
|
right: 6rpx;
|
|
width: 16rpx;
|
|
height: 16rpx;
|
|
background-color: #ff3b30;
|
|
border-radius: 50%;
|
|
box-shadow: 0 2rpx 6rpx rgba(255, 59, 48, 0.4);
|
|
}
|
|
|
|
.red-dot.menu {
|
|
right: 30rpx;
|
|
top: 30rpx;
|
|
}
|
|
|
|
/* 底部操作按钮 */
|
|
.action-section {
|
|
padding: 30rpx;
|
|
}
|
|
|
|
.logout-btn {
|
|
width: 100%;
|
|
background: linear-gradient(135deg, #5ba8ff 0%, #4f8bff 100%);
|
|
color: white;
|
|
border: none;
|
|
border-radius: 50rpx;
|
|
padding: 30rpx;
|
|
font-size: 32rpx;
|
|
font-weight: bold;
|
|
box-shadow: 0 8rpx 25rpx rgba(79, 139, 255, 0.25);
|
|
}
|
|
|
|
.logout-btn:active {
|
|
transform: translateY(2rpx);
|
|
box-shadow: 0 4rpx 15rpx rgba(79, 139, 255, 0.25);
|
|
}
|
|
|
|
/* 响应式调整 */
|
|
@media (max-width: 750rpx) {
|
|
.user-header {
|
|
padding: 30rpx 20rpx;
|
|
}
|
|
|
|
.user-avatar {
|
|
width: 100rpx;
|
|
height: 100rpx;
|
|
}
|
|
|
|
.menu-section {
|
|
padding: 20rpx;
|
|
}
|
|
|
|
.menu-item {
|
|
padding: 25rpx;
|
|
}
|
|
}
|
|
.chart-container { padding: 20rpx 30rpx; }
|
|
.bar-chart { width: 100%; }
|
|
.chart-bars { display: flex; justify-content: space-around; align-items: flex-end; height: 300rpx; padding: 20rpx 0; }
|
|
.bar-item { flex: 1; display: flex; flex-direction: column; align-items: center; height: 260rpx; }
|
|
.bar-wrapper { width: 100%; height: 220rpx; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; position: relative; }
|
|
.bar { width: 60%; background: linear-gradient(180deg, #5ba8ff 0%, #4f8bff 100%); border-radius: 8rpx 8rpx 0 0; min-height: 4rpx; transition: all 0.3s ease; }
|
|
.bar-value { position: absolute; top: -40rpx; font-size: 22rpx; color: #5e7ea6; font-weight: 600; }
|
|
.bar-label { font-size: 22rpx; color: #5e7ea6; margin-top: 15rpx; }
|
|
|
|
.line-chart { width: 100%; height: 300rpx; position: relative; }
|
|
.chart-area { width: 100%; height: 100%; position: relative; }
|
|
.chart-grid { position: absolute; top: 0; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; justify-content: space-between; }
|
|
.grid-line { height: 1rpx; background: #e0e0e0; }
|
|
.chart-line { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
|
|
.line-path { position: absolute; left: 0; right: 0; bottom: 0; height: 100%; }
|
|
.line-point { position: absolute; width: 12rpx; height: 12rpx; background: #4f8bff; border-radius: 50%; box-shadow: 0 4rpx 12rpx rgba(79, 139, 255, 0.3); }
|
|
.chart-labels { position: absolute; left: 0; right: 0; bottom: -36rpx; display: flex; justify-content: space-between; }
|
|
.label-item { font-size: 20rpx; color: #5e7ea6; }
|
|
.chart-values { position: absolute; left: 0; right: 0; top: 8rpx; display: flex; justify-content: space-between; }
|
|
.value-item { font-size: 20rpx; color: #5e7ea6; } |