dapaijizhang3/pages/stats/personal/personal.wxss

418 lines
6.1 KiB
Plaintext
Raw Normal View History

2025-11-20 16:42:59 +08:00
/* 个人统计页面样式 */
page {
background: linear-gradient(135deg, #1A1A1A 0%, #252525 100%);
min-height: 100vh;
}
.container {
padding: 30rpx;
padding-bottom: 120rpx;
}
/* 用户头部 */
.user-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 32rpx 24rpx;
margin-bottom: 20rpx;
}
.user-info {
display: flex;
align-items: center;
gap: 16rpx;
flex: 1;
}
.avatar {
width: 96rpx;
height: 96rpx;
border-radius: 50%;
border: 3rpx solid #fff;
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
}
.user-detail {
display: flex;
flex-direction: column;
gap: 6rpx;
}
.nickname {
font-size: 32rpx;
font-weight: bold;
color: #FFFFFF;
}
.user-desc {
font-size: 24rpx;
color: #B0B0B0;
}
.share-btn {
padding: 16rpx 28rpx;
background: linear-gradient(135deg, #ff9500 0%, #ff7700 100%);
color: white;
border-radius: 40rpx;
font-size: 26rpx;
border: none;
}
/* 时间范围选择 */
.time-range-bar {
display: flex;
gap: 12rpx;
padding: 16rpx 24rpx;
margin-bottom: 20rpx;
}
.range-btn {
flex: 1;
padding: 16rpx 0;
background: #f8f8f8;
border-radius: 24rpx;
font-size: 28rpx;
color: #E0E0E0;
text-align: center;
}
.range-btn.active {
background: linear-gradient(135deg, #50C878 0%, #06a854 100%);
color: white;
font-weight: bold;
}
/* 核心数据 */
.core-stats {
padding: 32rpx 24rpx;
margin-bottom: 20rpx;
}
.stats-row {
display: flex;
justify-content: space-around;
align-items: baseline;
padding-bottom: 24rpx;
}
.stat-item {
display: flex;
flex-direction: column;
align-items: center;
gap: 8rpx;
flex: 1;
}
.stat-item.large {
padding: 0 20rpx;
}
.stat-number {
font-size: 36rpx;
font-weight: bold;
color: #FFFFFF;
line-height: 1.2;
}
.stat-number.win {
color: #50C878;
}
.stat-number.lose {
color: #ff3b30;
}
.stat-item.large .stat-number {
font-size: 52rpx;
line-height: 1.2;
}
.stat-label {
font-size: 24rpx;
color: #B0B0B0;
}
.stats-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20rpx;
padding-top: 24rpx;
}
/* 最佳记录 */
.best-records {
padding: 24rpx;
margin-bottom: 20rpx;
}
.records-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16rpx;
margin-top: 20rpx;
}
.record-item {
display: flex;
align-items: center;
gap: 12rpx;
padding: 20rpx;
background: #f8f9fa;
border-radius: 12rpx;
}
.record-icon {
font-size: 40rpx;
}
.record-info {
flex: 1;
display: flex;
flex-direction: column;
gap: 6rpx;
}
.record-label {
font-size: 24rpx;
color: #B0B0B0;
}
.record-value {
font-size: 32rpx;
font-weight: bold;
color: #FFFFFF;
}
/* 游戏类型统计 */
.game-type-stats {
padding: 24rpx;
margin-bottom: 20rpx;
}
.game-types-list {
display: flex;
flex-direction: column;
gap: 16rpx;
margin-top: 20rpx;
}
.game-type-item {
padding: 20rpx;
background: #f8f9fa;
border-radius: 12rpx;
}
.type-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 16rpx;
}
.type-name {
font-size: 30rpx;
font-weight: bold;
color: #FFFFFF;
}
.type-games {
font-size: 24rpx;
color: #B0B0B0;
}
.type-stats {
display: flex;
gap: 32rpx;
}
.type-stat {
flex: 1;
display: flex;
justify-content: space-between;
align-items: center;
padding: 12rpx 16rpx;
background: #1A1A1A;
border-radius: 8rpx;
}
.type-stat .stat-label {
font-size: 24rpx;
color: #B0B0B0;
}
.type-stat .stat-value {
font-size: 28rpx;
font-weight: bold;
color: #FFFFFF;
}
/* 趋势图 */
.trend-chart {
padding: 24rpx;
margin-bottom: 20rpx;
}
.chart-summary {
display: flex;
justify-content: space-around;
padding: 20rpx 0;
margin-bottom: 20rpx;
border-bottom: 1rpx solid #f0f0f0;
}
.summary-item {
display: flex;
flex-direction: column;
align-items: center;
gap: 8rpx;
}
.summary-label {
font-size: 24rpx;
color: #B0B0B0;
}
.summary-value {
font-size: 32rpx;
font-weight: bold;
color: #FFFFFF;
}
.summary-value.win {
color: #50C878;
}
.summary-value.lose {
color: #ff3b30;
}
.chart-container {
background: #f8f9fa;
border-radius: 12rpx;
padding: 20rpx 12rpx;
overflow-x: auto;
}
.chart-wrapper {
display: flex;
gap: 8rpx;
}
.chart-y-axis {
display: flex;
flex-direction: column;
justify-content: space-between;
height: 280rpx;
padding: 20rpx 0 50rpx;
min-width: 50rpx;
}
.y-axis-label {
font-size: 20rpx;
color: #B0B0B0;
text-align: right;
line-height: 1;
}
.chart-bars {
flex: 1;
display: flex;
align-items: center;
justify-content: space-around;
height: 280rpx;
padding: 20rpx 8rpx 0;
}
.bar-item {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
max-width: 100rpx;
height: 100%;
}
.bar-column {
flex: 1;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 12rpx;
}
.bar-upper {
flex: 1;
width: 100%;
display: flex;
align-items: flex-end;
justify-content: center;
}
.bar-baseline {
width: 100%;
height: 2rpx;
background: #ddd;
position: relative;
}
.bar-lower {
flex: 1;
width: 100%;
display: flex;
align-items: flex-start;
justify-content: center;
}
.bar {
width: 40rpx;
min-height: 8rpx;
}
.bar-win {
background: linear-gradient(180deg, #06d66f 0%, #50C878 100%);
box-shadow: 0 2rpx 8rpx rgba(7, 193, 96, 0.3);
border-radius: 6rpx 6rpx 0 0;
}
.bar-lose {
background: linear-gradient(0deg, #ff5449 0%, #ff3b30 100%);
box-shadow: 0 2rpx 8rpx rgba(255, 59, 48, 0.3);
border-radius: 0 0 6rpx 6rpx;
}
.bar-label {
font-size: 22rpx;
color: #E0E0E0;
white-space: nowrap;
text-align: center;
line-height: 1.2;
margin-top: 4rpx;
}
/* 操作按钮 */
.action-buttons {
margin: 40rpx 0rpx 100rpx 0rpx;
}
.action-btn {
padding: 28rpx;
text-align: center;
border-radius: 16rpx;
font-size: 32rpx;
font-weight: bold;
border: none;
}
.action-btn.primary {
background: linear-gradient(135deg, #50C878 0%, #06a854 100%);
color: white;
box-shadow: 0 8rpx 20rpx rgba(7, 193, 96, 0.3);
}
/* 为TabBar预留空间 */
.container {
padding-bottom: 120rpx;
}