448 lines
8.2 KiB
Plaintext
448 lines
8.2 KiB
Plaintext
page {
|
||
height: 100%;
|
||
background: #f5f6f8;
|
||
}
|
||
|
||
.page-home {
|
||
box-sizing: border-box;
|
||
height: 100%;
|
||
padding: 0 20rpx;
|
||
padding-top: 24rpx;
|
||
background: #f5f6f8;
|
||
}
|
||
|
||
/* 单页滚动容器:内部 sticky 吸顶(基础库 2.10.3+) */
|
||
.home-scroll {
|
||
height: 100%;
|
||
box-sizing: border-box;
|
||
/* padding-bottom: calc( env(safe-area-inset-bottom)); */
|
||
}
|
||
|
||
.banner {
|
||
width: 100%;
|
||
height: 300rpx;
|
||
border-radius: 16rpx;
|
||
overflow: hidden;
|
||
background: #e8e8e8;
|
||
}
|
||
|
||
.banner-item {
|
||
width: 100%;
|
||
height: 300rpx;
|
||
}
|
||
|
||
.banner-image {
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.sticky-header {
|
||
position: sticky;
|
||
top: 0;
|
||
z-index: 100;
|
||
margin-top: 20rpx;
|
||
padding-bottom: 16rpx;
|
||
background: #f5f6f8;
|
||
/* box-shadow: 0 8rpx 20rpx rgba(0, 0, 0, 0.06); */
|
||
}
|
||
|
||
.search-wrap {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 16rpx;
|
||
background-color: #fff;
|
||
border-radius: 38rpx;
|
||
border: 2rpx solid #e1e3e6;
|
||
}
|
||
|
||
.search-input {
|
||
flex: 1;
|
||
height: 70rpx;
|
||
line-height: 76rpx;
|
||
padding: 0 4rpx;
|
||
background: #ffffff;
|
||
border-radius: 38rpx;
|
||
font-size: 24rpx;
|
||
color: #323233;
|
||
}
|
||
|
||
.search-ph {
|
||
color: #c8c9cc;
|
||
}
|
||
|
||
.search-img{
|
||
width: 80rpx;
|
||
height: 36rpx;
|
||
margin: 0 10rpx 0 38rpx;
|
||
}
|
||
|
||
.search-btn {
|
||
flex-shrink: 0;
|
||
min-width: 120rpx;
|
||
height: 70rpx;
|
||
line-height: 76rpx;
|
||
padding: 0 28rpx;
|
||
text-align: center;
|
||
font-size: 28rpx;
|
||
color: #ffffff;
|
||
/* background: linear-gradient(135deg, #3d8dff 0%, #1677ff 100%); */
|
||
background-color: #1a57b2;
|
||
border-radius: 38rpx;
|
||
box-shadow: 0 6rpx 16rpx rgba(22, 119, 255, 0.35);
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
|
||
.search-btn-text {
|
||
margin-left: 10rpx;
|
||
}
|
||
|
||
.section-tab-img {
|
||
width: 80rpx;
|
||
height: 20rpx;
|
||
margin-top: 10rpx;
|
||
position: absolute;
|
||
left: 50%;
|
||
transform: translateX(-50%);
|
||
bottom: 6rpx;
|
||
z-index: -1;
|
||
}
|
||
|
||
.section-tabs {
|
||
margin-top: 28rpx;
|
||
display: flex;
|
||
justify-content: center;
|
||
gap: 80rpx;
|
||
}
|
||
|
||
.section-tab {
|
||
position: relative;
|
||
padding-bottom: 12rpx;
|
||
}
|
||
|
||
.section-tab-text {
|
||
font-size: 34rpx;
|
||
color: #969799;
|
||
font-weight: 500;
|
||
}
|
||
|
||
.section-tab.is-active .section-tab-text {
|
||
color: #111;
|
||
font-weight: 700;
|
||
}
|
||
|
||
.section-tab-line {
|
||
position: absolute;
|
||
left: 50%;
|
||
bottom: 0;
|
||
transform: translateX(-50%);
|
||
width: 88rpx;
|
||
height: 10rpx;
|
||
border-radius: 8rpx;
|
||
background: linear-gradient(
|
||
90deg,
|
||
rgba(61, 141, 255, 0.15) 0%,
|
||
#1677ff 45%,
|
||
#1677ff 55%,
|
||
rgba(61, 141, 255, 0.15) 100%
|
||
);
|
||
box-shadow: 0 2rpx 8rpx rgba(22, 119, 255, 0.35);
|
||
}
|
||
|
||
.status-filters {
|
||
margin-top: 40rpx;
|
||
display: flex;
|
||
gap: 50rpx;
|
||
padding: 0 60rpx;
|
||
}
|
||
|
||
.status-pill {
|
||
flex: 1;
|
||
text-align: center;
|
||
padding: 6rpx 0;
|
||
font-size: 26rpx;
|
||
color: #646566;
|
||
background: #ffffff;
|
||
border: 2rpx solid #e1e3e6;
|
||
border-radius: 8rpx;
|
||
}
|
||
|
||
.status-pill.is-on {
|
||
color: #ffffff;
|
||
font-weight: 600;
|
||
background: rgba(0, 96, 216, 1);
|
||
border-color: transparent;
|
||
box-shadow: 0 4rpx 12rpx rgba(22, 119, 255, 0.28);
|
||
}
|
||
|
||
.status-pill.is-1 {
|
||
color: #ffffff;
|
||
font-weight: 600;
|
||
background: rgba(0, 181, 109, 1);
|
||
border-color: transparent;
|
||
box-shadow: 0 4rpx 12rpx rgba(0, 181, 109, 0.28);
|
||
}
|
||
|
||
.status-pill.is-2 {
|
||
color: #ffffff;
|
||
font-weight: 600;
|
||
background: rgba(230, 6, 11, 1);
|
||
border-color: transparent;
|
||
box-shadow: 0 4rpx 12rpx rgba(230, 6, 11, 0.28);
|
||
}
|
||
|
||
.list-section {
|
||
margin-top: 20rpx;
|
||
padding-bottom: 120rpx;
|
||
}
|
||
|
||
.login-hint {
|
||
margin: 80rpx 8rpx;
|
||
padding: 48rpx 32rpx;
|
||
background: #ffffff;
|
||
border-radius: 20rpx;
|
||
text-align: center;
|
||
box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.04);
|
||
}
|
||
|
||
.login-hint-text {
|
||
display: block;
|
||
color: #646566;
|
||
font-size: 28rpx;
|
||
margin-bottom: 28rpx;
|
||
}
|
||
|
||
.login-hint-btn {
|
||
width: 280rpx !important;
|
||
background: linear-gradient(135deg, #1a57b2 0%, #1a57b2 100%) !important;
|
||
border: none !important;
|
||
color: #fff !important;
|
||
border-radius: 999rpx !important;
|
||
height: 80rpx !important;
|
||
font-size: 32rpx !important;
|
||
}
|
||
|
||
.empty {
|
||
padding: 80rpx 0;
|
||
text-align: center;
|
||
color: #969799;
|
||
font-size: 28rpx;
|
||
}
|
||
|
||
.event-card {
|
||
margin-bottom: 24rpx;
|
||
background: #ffffff;
|
||
border-radius: 20rpx;
|
||
overflow: hidden;
|
||
box-shadow: 0 8rpx 28rpx rgba(0, 0, 0, 0.06);
|
||
}
|
||
|
||
.event-card-media {
|
||
position: relative;
|
||
width: 100%;
|
||
height: 320rpx;
|
||
background: #fff;
|
||
padding: 12rpx;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.event-card-cover {
|
||
width: 100%;
|
||
height: 100%;
|
||
display: block;
|
||
border-radius: 16rpx;
|
||
}
|
||
|
||
.addr-pill {
|
||
position: absolute;
|
||
top: 30rpx;
|
||
left: 22px;
|
||
max-width: calc(100% - 160rpx);
|
||
padding:4rpx 12rpx;
|
||
font-size: 22rpx;
|
||
color: #323233;
|
||
background: rgba(255, 255, 255, 1);
|
||
border-radius: 999rpx;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
/* box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.06); */
|
||
}
|
||
|
||
.status-pill-top {
|
||
position: absolute;
|
||
top: 30rpx;
|
||
right: 12rpx;
|
||
padding: 8rpx 10rpx;
|
||
font-size: 22rpx;
|
||
color: #fff;
|
||
background: linear-gradient(135deg, rgba(0, 181, 109, 0) 30%, rgba(0, 181, 109, 1) 80% , rgba(0, 181, 109, 1) 100%) ;
|
||
/* box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.06); */
|
||
}
|
||
|
||
.status-pill-top-1 {
|
||
background: linear-gradient(135deg, rgba(0, 181, 109, 0) 20%, rgba(0, 96, 216, 1) 80% , rgba(0, 96, 216, 1) 100%) ;
|
||
}
|
||
.status-pill-top-3 {
|
||
background: linear-gradient(135deg, rgba(0, 181, 109, 0) 20%, rgba(0, 181, 109, 1) 80% , rgba(0, 181, 109, 1) 100%) ;
|
||
}
|
||
.status-pill-top-4 {
|
||
background: linear-gradient(135deg, rgba(0, 181, 109, 0) 20%, rgba(230, 6, 11, 1)80% , rgba(230, 6, 11, 1)100%) ;
|
||
}
|
||
|
||
.event-card-body {
|
||
padding: 22rpx 20rpx 26rpx;
|
||
}
|
||
|
||
.card-actions {
|
||
display: flex;
|
||
gap: 16rpx;
|
||
padding: 0 20rpx 22rpx;
|
||
flex-wrap: nowrap;
|
||
}
|
||
|
||
.action-btn {
|
||
flex: 1;
|
||
height: 50rpx;
|
||
line-height: 50rpx;
|
||
text-align: center;
|
||
font-size: 22rpx;
|
||
border-radius: 10rpx;
|
||
border: 2rpx solid #e1e3e6;
|
||
background: #fff;
|
||
color: #323233;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.action-btn--ghost {
|
||
background: #fff;
|
||
color: #323233;
|
||
}
|
||
|
||
.action-btn--danger {
|
||
border-color: #e6060b;
|
||
color: #e6060b;
|
||
background: #fff;
|
||
}
|
||
|
||
.action-btn--disabled {
|
||
border-color: #c8c9cc;
|
||
color: #c8c9cc;
|
||
background: #f7f8fa;
|
||
}
|
||
|
||
.action-btn--paid {
|
||
border-color: #00b56d;
|
||
background: rgba(0, 181, 109, 0.12);
|
||
color: #00b56d;
|
||
font-weight: 700;
|
||
}
|
||
|
||
.title-row {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
align-items: flex-start;
|
||
gap: 12rpx;
|
||
margin-bottom: 16rpx;
|
||
}
|
||
|
||
.event-title {
|
||
flex: 1;
|
||
min-width: 0;
|
||
font-size: 28rpx;
|
||
font-weight: 800;
|
||
color: #111;
|
||
line-height: 1.45;
|
||
}
|
||
|
||
.format-tag {
|
||
flex-shrink: 0;
|
||
padding: 4rpx 14rpx;
|
||
font-size: 22rpx;
|
||
font-weight: 600;
|
||
color: #ffffff;
|
||
background: linear-gradient(135deg, #3d8dff 0%, #1677ff 100%);
|
||
border-radius: 8rpx;
|
||
}
|
||
|
||
.meta-line {
|
||
font-size: 24rpx;
|
||
color: #969799;
|
||
line-height: 1.55;
|
||
margin-top: 6rpx;
|
||
}
|
||
|
||
.loading {
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
color: #969799;
|
||
font-size: 26rpx;
|
||
padding: 32rpx 0 48rpx;
|
||
}
|
||
|
||
/* ===== 三点加载动画 ===== */
|
||
.loading-dots {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 12rpx;
|
||
}
|
||
|
||
.loading-dot {
|
||
width: 14rpx;
|
||
height: 14rpx;
|
||
border-radius: 50%;
|
||
background: #1a56db;
|
||
animation: dot-bounce 2.8s infinite ease-in-out;
|
||
}
|
||
|
||
.loading-dot:nth-child(1) { animation-delay: 0s; }
|
||
.loading-dot:nth-child(2) { animation-delay: 0.2s; }
|
||
.loading-dot:nth-child(3) { animation-delay: 0.4s; }
|
||
|
||
@keyframes dot-bounce {
|
||
0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }
|
||
40% { transform: scale(1); opacity: 1; }
|
||
}
|
||
|
||
/* ===== 首屏骨架屏 ===== */
|
||
.skeleton-card {
|
||
background: #fff;
|
||
border-radius: 20rpx;
|
||
overflow: hidden;
|
||
margin-bottom: 24rpx;
|
||
}
|
||
|
||
.skeleton-cover {
|
||
width: 100%;
|
||
height: 300rpx;
|
||
background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
|
||
background-size: 200% 100%;
|
||
animation: skeleton-shimmer 1.4s infinite;
|
||
}
|
||
|
||
.skeleton-body {
|
||
padding: 24rpx 28rpx 28rpx;
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 16rpx;
|
||
}
|
||
|
||
.skeleton-line {
|
||
height: 24rpx;
|
||
border-radius: 8rpx;
|
||
background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
|
||
background-size: 200% 100%;
|
||
animation: skeleton-shimmer 1.4s infinite;
|
||
}
|
||
|
||
.skeleton-line--long { width: 80%; }
|
||
.skeleton-line--mid { width: 60%; }
|
||
.skeleton-line--short { width: 40%; }
|
||
|
||
@keyframes skeleton-shimmer {
|
||
0% { background-position: 200% 0; }
|
||
100% { background-position: -200% 0; }
|
||
}
|