2025-07-06 18:11:46 +08:00
|
|
|
/* ========== 全局 ========== */
|
|
|
|
*{
|
|
|
|
margin:0;padding:0;box-sizing:border-box;
|
|
|
|
font-family:'PingFang SC','Helvetica Neue',Arial,sans-serif;
|
|
|
|
}
|
|
|
|
body{
|
|
|
|
background:#f5f5f5;
|
|
|
|
color:#333;
|
|
|
|
max-width:500px;
|
|
|
|
margin:0 auto;
|
|
|
|
position:relative;
|
|
|
|
padding-bottom:30px;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* ========== 轮播图 ========== */
|
|
|
|
.swiper-container{
|
|
|
|
width:100%;height:375px;position:relative;overflow:hidden;
|
|
|
|
}
|
|
|
|
.swiper-wrapper{display:flex;transition:transform .3s;}
|
|
|
|
.swiper-slide{flex:0 0 100%;height:375px;}
|
|
|
|
.swiper-slide img{width:100%;height:100%;object-fit:contain;background:#fff;}
|
|
|
|
|
|
|
|
.swiper-pagination{
|
|
|
|
position:absolute;bottom:10px;left:50%;
|
|
|
|
transform:translateX(-50%);display:flex;gap:6px;
|
|
|
|
}
|
|
|
|
.swiper-dot{
|
|
|
|
width:8px;height:8px;border-radius:50%;
|
|
|
|
background:rgba(255,255,255,.5);transition:all .3s;
|
|
|
|
}
|
|
|
|
.swiper-dot.active{background:#ff5000;width:16px;border-radius:4px;}
|
|
|
|
|
|
|
|
/* ========== 商品信息 ========== */
|
|
|
|
.product-info{background:#fff;padding:15px;margin-bottom:10px;}
|
|
|
|
.price-row{display:flex;align-items:center;margin-bottom:12px;}
|
|
|
|
.current-price{color:#ff5000;font-size:28px;font-weight:bold;}
|
|
|
|
.current-price::before{content:"¥";font-size:18px;}
|
|
|
|
.original-price{
|
|
|
|
color:#999;font-size:16px;text-decoration:line-through;margin-left:8px;
|
|
|
|
}
|
|
|
|
.original-price::before{content:"¥";}
|
|
|
|
.title{font-size:18px;font-weight:bold;line-height:1.4;margin-bottom:10px;}
|
|
|
|
|
|
|
|
/* 促销行 */
|
|
|
|
.promo-row{display:flex;align-items:center;gap:6px;margin-top:6px;}
|
|
|
|
.promo-tag{
|
|
|
|
flex-shrink:0;
|
|
|
|
display:inline-block;
|
|
|
|
background:linear-gradient(90deg,#ff2c2c,#ff6b22);
|
|
|
|
color:#fff;font-size:12px;padding:2px 6px;border-radius:2px;
|
|
|
|
}
|
|
|
|
.promo-box{
|
|
|
|
display:inline-block;font-size:13px;padding:2px 6px;
|
|
|
|
border-radius:4px;font-weight:600;line-height:1.2;white-space:nowrap;
|
|
|
|
}
|
|
|
|
.promo-box.drop,
|
|
|
|
.promo-box.sold{
|
|
|
|
background:linear-gradient(90deg,#ff7e00,#ff5000);
|
|
|
|
color:#fff;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* “xx人在抢” */
|
|
|
|
.group-left{margin-right:4px;color:#ff5000;font-weight:bold;}
|
|
|
|
|
|
|
|
/* ========== 火焰小图标行 ========== */
|
|
|
|
.promo-info{color:#ff5000;font-size:14px;margin:8px 0;display:flex;align-items:center;}
|
|
|
|
.promo-info i{margin-right:5px;}
|
|
|
|
|
|
|
|
/* ========== 拼单列表 ========== */
|
|
|
|
.group-buying{background:#fff;padding:15px;margin-bottom:10px;position:relative;overflow:hidden;}
|
|
|
|
.section-title{
|
|
|
|
font-size:16px;font-weight:bold;margin-bottom:12px;position:relative;padding-left:10px;
|
|
|
|
}
|
|
|
|
.section-title::before{
|
|
|
|
content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
|
|
|
|
width:3px;height:16px;background:#ff5000;border-radius:2px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.group-users{height:120px;position:relative;overflow:hidden;}
|
|
|
|
.user-list{position:absolute;top:0;left:0;width:100%;transition:transform .5s ease;}
|
|
|
|
.user-item{
|
|
|
|
display:flex;align-items:center;padding:8px 0;border-bottom:1px solid #f5f5f5;
|
|
|
|
}
|
|
|
|
.user-item:last-child{border-bottom:none;}
|
|
|
|
.user-avatar{
|
|
|
|
width:40px;height:40px;border-radius:50%;background:#f5f5f5;
|
|
|
|
display:flex;align-items:center;justify-content:center;margin-right:10px;
|
|
|
|
color:#999;font-size:20px;
|
|
|
|
}
|
|
|
|
.user-info{flex:1;}
|
|
|
|
.user-name{font-size:15px;font-weight:bold;margin-bottom:4px;}
|
|
|
|
.user-status{font-size:13px;color:#666;}
|
|
|
|
.left-num{color:#666;margin-right:4px;font-weight:bold;}
|
|
|
|
.countdown{
|
|
|
|
display:inline-block;background:#ff5000;color:#fff;
|
|
|
|
padding:1px 4px;border-radius:2px;margin-left:5px;
|
|
|
|
}
|
|
|
|
.buy-btn{
|
|
|
|
background:linear-gradient(90deg,#ff2c2c,#ff6b22);
|
|
|
|
color:#fff;border:none;border-radius:4px;padding:6px 15px;
|
|
|
|
font-size:14px;font-weight:bold;cursor:pointer;
|
2025-07-06 17:35:38 +08:00
|
|
|
}
|
|
|
|
|
2025-07-06 18:11:46 +08:00
|
|
|
/* ========== 底部操作栏 ========== */
|
|
|
|
.action-bar{
|
|
|
|
position:fixed;inset-inline:0;bottom:0;max-width:500px;margin:0 auto;
|
|
|
|
background:#fff;display:flex;height:60px;
|
|
|
|
box-shadow:0 -2px 10px rgba(0,0,0,.1);z-index:100;
|
2025-07-06 17:35:38 +08:00
|
|
|
}
|
|
|
|
|
2025-07-06 18:11:46 +08:00
|
|
|
/* 左侧 3 个图标按钮 */
|
|
|
|
.action-btn{
|
|
|
|
flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
|
|
|
|
font-size:12px;color:#666;
|
2025-07-06 17:35:38 +08:00
|
|
|
}
|
2025-07-06 18:11:46 +08:00
|
|
|
.action-btn i{font-size:20px;margin-bottom:4px;}
|
2025-07-06 17:35:38 +08:00
|
|
|
|
2025-07-06 18:11:46 +08:00
|
|
|
/* 右侧购买区域 */
|
|
|
|
.purchase-btn{flex:2;display:flex;}
|
2025-07-06 17:35:38 +08:00
|
|
|
|
2025-07-06 18:11:46 +08:00
|
|
|
/* 公共:双行按钮布局 */
|
|
|
|
.btn-single,
|
|
|
|
.btn-group{
|
|
|
|
flex:1;
|
|
|
|
/* 纵向排布价格与文案 */
|
|
|
|
display:flex;flex-direction:column;align-items:center;justify-content:center;
|
|
|
|
gap:2px;
|
|
|
|
border:none;cursor:pointer;
|
2025-07-06 17:35:38 +08:00
|
|
|
}
|
|
|
|
|
2025-07-06 18:11:46 +08:00
|
|
|
/* 各自背景色保持不变 */
|
|
|
|
.btn-single{background:#ff9500;color:#fff;}
|
|
|
|
.btn-group {background:#ff5000;color:#fff;}
|
2025-07-06 17:35:38 +08:00
|
|
|
|
2025-07-06 18:11:46 +08:00
|
|
|
/* 价格行 */
|
|
|
|
.btn-price{
|
|
|
|
font-size:18px;
|
|
|
|
font-weight:700;
|
|
|
|
line-height:1;
|
2025-07-06 17:35:38 +08:00
|
|
|
}
|
|
|
|
|
2025-07-06 18:11:46 +08:00
|
|
|
/* 文字行 */
|
|
|
|
.btn-label{
|
|
|
|
font-size:12px;
|
|
|
|
line-height:1;
|
2025-07-06 17:35:38 +08:00
|
|
|
}
|
|
|
|
|
2025-07-06 18:11:46 +08:00
|
|
|
/* ========== 支付弹窗 ========== */
|
2025-07-06 17:35:38 +08:00
|
|
|
.pay-mask{
|
2025-07-06 18:11:46 +08:00
|
|
|
position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.45);
|
2025-07-06 17:35:38 +08:00
|
|
|
display:none;align-items:center;justify-content:center;
|
|
|
|
}
|
|
|
|
.pay-box{
|
2025-07-06 18:11:46 +08:00
|
|
|
width:92%;max-width:420px;background:#fff;border-radius:10px;
|
|
|
|
padding:28px 24px;text-align:center;
|
2025-07-06 17:35:38 +08:00
|
|
|
}
|
2025-07-06 18:11:46 +08:00
|
|
|
.pay-title{margin:0 0 12px;font-size:20px;font-weight:600;}
|
|
|
|
.pay-amount{margin-bottom:20px;font-size:16px;color:#666;}
|
2025-07-06 17:35:38 +08:00
|
|
|
.qr-code{
|
2025-07-06 18:11:46 +08:00
|
|
|
width:260px;max-width:100%;height:auto;display:block;margin:0 auto 32px;
|
|
|
|
border-radius:12px;object-fit:contain;
|
2025-07-06 17:35:38 +08:00
|
|
|
}
|
|
|
|
.pay-btns{display:flex;gap:16px;justify-content:center;}
|
2025-07-06 18:11:46 +08:00
|
|
|
.btn-primary,
|
|
|
|
.btn-secondary{
|
2025-07-06 17:35:38 +08:00
|
|
|
flex:1;padding:12px 0;border:none;border-radius:10px;
|
|
|
|
font-size:16px;font-weight:600;cursor:pointer;
|
|
|
|
}
|
|
|
|
.btn-primary{background:#12a400;color:#fff;}
|
2025-07-06 18:11:46 +08:00
|
|
|
.btn-secondary{background:#f0f0f0;}
|