Files
xingque/pages/wodedashou/wodedashou.wxss

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; }