258 lines
5.4 KiB
Plaintext
258 lines
5.4 KiB
Plaintext
/* 全局 */
|
|
page {
|
|
background: linear-gradient(135deg, #f5f7fa 0%, #e4e9f2 100%);
|
|
height: 100vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.page-container {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
}
|
|
|
|
/* 固定头部区域 */
|
|
.fixed-header {
|
|
flex-shrink: 0;
|
|
background: rgba(255,255,255,0.7);
|
|
backdrop-filter: blur(20px);
|
|
padding: 20rpx 30rpx 10rpx;
|
|
z-index: 10;
|
|
}
|
|
|
|
.header-bar {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
}
|
|
|
|
.title {
|
|
font-size: 44rpx;
|
|
font-weight: 700;
|
|
color: #2c3e50;
|
|
}
|
|
|
|
.refresh-btn {
|
|
width: 60rpx;
|
|
height: 60rpx;
|
|
border-radius: 50%;
|
|
background: rgba(255,255,255,0.8);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 36rpx;
|
|
color: #5a6d7e;
|
|
transition: all 0.3s;
|
|
}
|
|
|
|
.refresh-btn:active { background: rgba(200,200,200,0.5); }
|
|
|
|
/* 搜索栏 */
|
|
.search-box {
|
|
display: flex;
|
|
margin: 15rpx 0;
|
|
background: white;
|
|
border-radius: 40rpx;
|
|
padding: 8rpx 20rpx;
|
|
box-shadow: 0 4rpx 12rpx rgba(0,0,0,0.05);
|
|
}
|
|
|
|
.search-input {
|
|
flex: 1;
|
|
height: 70rpx;
|
|
font-size: 28rpx;
|
|
}
|
|
|
|
.search-icon {
|
|
width: 70rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 36rpx;
|
|
color: #7f8c8d;
|
|
}
|
|
|
|
/* 筛选行 */
|
|
.filter-row {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-top: 5rpx;
|
|
}
|
|
|
|
.filter-item {
|
|
display: flex;
|
|
align-items: center;
|
|
font-size: 26rpx;
|
|
color: #2c3e50;
|
|
}
|
|
|
|
.picker-trigger {
|
|
margin-left: 10rpx;
|
|
background: rgba(255,255,255,0.8);
|
|
border-radius: 20rpx;
|
|
padding: 6rpx 20rpx;
|
|
border: 1rpx solid #e0e0e0;
|
|
min-width: 100rpx;
|
|
text-align: center;
|
|
}
|
|
|
|
.filter-btn {
|
|
background: linear-gradient(135deg, #6c8cbf, #8aa5d0);
|
|
color: white;
|
|
border-radius: 30rpx;
|
|
padding: 10rpx 35rpx;
|
|
font-size: 26rpx;
|
|
font-weight: 500;
|
|
}
|
|
|
|
/* 统计卡片 */
|
|
.stats-cards {
|
|
display: flex;
|
|
justify-content: space-around;
|
|
margin-top: 15rpx;
|
|
margin-bottom: 10rpx;
|
|
padding: 25rpx 0;
|
|
background: rgba(255,255,255,0.65);
|
|
backdrop-filter: blur(15px);
|
|
border-radius: 24rpx;
|
|
box-shadow: 0 8rpx 20rpx rgba(0,0,0,0.05);
|
|
}
|
|
|
|
.stat-item { display: flex; flex-direction: column; align-items: center; }
|
|
.stat-num { font-size: 40rpx; font-weight: 700; color: #2c3e50; }
|
|
.stat-label { font-size: 24rpx; color: #7f8c8d; margin-top: 8rpx; }
|
|
|
|
/* 列表滚动区域(占据剩余高度) */
|
|
.list-scroll {
|
|
flex: 1;
|
|
padding: 0 30rpx;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
/* 列表内部容器 */
|
|
.list-container {
|
|
padding-bottom: 30rpx;
|
|
}
|
|
|
|
/* 打手卡片 */
|
|
.dashou-card {
|
|
display: flex;
|
|
align-items: center;
|
|
background: rgba(255,255,255,0.75);
|
|
backdrop-filter: blur(12px);
|
|
border-radius: 24rpx;
|
|
padding: 24rpx;
|
|
margin-bottom: 20rpx;
|
|
box-shadow: 0 6rpx 16rpx rgba(0,0,0,0.06);
|
|
transition: transform 0.2s;
|
|
}
|
|
|
|
.dashou-card:active { transform: scale(0.99); }
|
|
|
|
.avatar {
|
|
width: 120rpx;
|
|
height: 120rpx;
|
|
border-radius: 50%;
|
|
border: 3rpx solid rgba(255,255,255,0.8);
|
|
box-shadow: 0 4rpx 10rpx rgba(0,0,0,0.1);
|
|
margin-right: 20rpx;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.info-right { flex: 1; display: flex; flex-direction: column; }
|
|
|
|
.row1 {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
}
|
|
|
|
.nick {
|
|
font-size: 32rpx;
|
|
font-weight: 600;
|
|
color: #1e272e;
|
|
max-width: 200rpx;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.badges { display: flex; gap: 10rpx; }
|
|
.badge {
|
|
padding: 4rpx 16rpx;
|
|
border-radius: 20rpx;
|
|
font-size: 22rpx;
|
|
font-weight: 500;
|
|
color: white;
|
|
}
|
|
|
|
.online { background: #27ae60; }
|
|
.offline { background: #bdc3c7; }
|
|
.normal { background: #2980b9; }
|
|
.banned { background: #e74c3c; }
|
|
|
|
.uid { font-size: 24rpx; color: #7f8c8d; margin: 6rpx 0; }
|
|
|
|
.row2 {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 12rpx;
|
|
margin: 6rpx 0;
|
|
}
|
|
|
|
.tag {
|
|
background: #f0f3f7;
|
|
padding: 4rpx 14rpx;
|
|
border-radius: 16rpx;
|
|
font-size: 22rpx;
|
|
color: #34495e;
|
|
}
|
|
|
|
.contact-btn {
|
|
margin-top: 8rpx;
|
|
align-self: flex-end;
|
|
background: linear-gradient(135deg, #f39c12, #e67e22);
|
|
color: white;
|
|
padding: 10rpx 28rpx;
|
|
border-radius: 30rpx;
|
|
font-size: 26rpx;
|
|
font-weight: 500;
|
|
box-shadow: 0 4rpx 8rpx rgba(243,156,18,0.3);
|
|
}
|
|
|
|
/* 加载状态 */
|
|
.load-state { text-align: center; padding: 30rpx; color: #95a5a6; font-size: 24rpx; }
|
|
|
|
/* 加载更多按钮(新增) */
|
|
.load-more-btn {
|
|
width: 280rpx;
|
|
height: 80rpx;
|
|
line-height: 80rpx;
|
|
text-align: center;
|
|
background: rgba(108, 140, 191, 0.15);
|
|
backdrop-filter: blur(10px);
|
|
border-radius: 40rpx;
|
|
font-size: 28rpx;
|
|
font-weight: 500;
|
|
color: #5a6d7e;
|
|
border: 1rpx solid rgba(108, 140, 191, 0.3);
|
|
margin: 20rpx auto;
|
|
}
|
|
|
|
.load-more-btn:active {
|
|
background: rgba(108, 140, 191, 0.25);
|
|
transform: scale(0.97);
|
|
}
|
|
|
|
.empty {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
padding-top: 80rpx;
|
|
}
|
|
|
|
.empty image { width: 240rpx; height: 240rpx; opacity: 0.5; }
|
|
.empty text { margin-top: 30rpx; color: #b0b8c0; font-size: 28rpx; } |