327 lines
5.9 KiB
CSS

/* index.css */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'PingFang SC', 'Helvetica Neue', Arial, sans-serif;
}
body {
background-color: #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 0.3s;
}
.swiper-slide {
flex: 0 0 100%;
height: 375px;
}
.swiper-slide img {
width:100%;
height:100%;
object-fit:contain; /* cover → 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,0.5);
transition: all 0.3s;
}
.swiper-dot.active {
background: #ff5000;
width: 16px;
border-radius: 4px;
}
/* 商品信息区域 */
.group-left{
margin-right:4px;
color:#ff5000;
font-weight:bold;
}
.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-tag {
display: inline-block;
background: linear-gradient(90deg, #ff2c2c, #ff6b22);
color: white;
font-size: 12px;
padding: 2px 6px;
border-radius: 2px;
margin-right: 5px;
}
.promo-info {
color: #ff5000;
font-size: 14px;
margin: 8px 0;
display: flex;
align-items: center;
}
.promo-info i {
margin-right: 5px;
}
/* 拼单区域 - 修改了高度 */
/* “仅剩 x 人成团” 前缀样式 */
.left-num{
color: #666;
margin-right:4px;
font-weight:bold;
}
.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; /* 修改为120px以容纳两条完整信息 */
position: relative;
overflow: hidden;
}
.user-list {
position: absolute;
top: 0;
left: 0;
width: 100%;
transition: transform 0.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;
}
.countdown {
display: inline-block;
background: #ff5000;
color: white;
padding: 1px 4px;
border-radius: 2px;
margin-left: 5px;
}
.buy-btn {
background: linear-gradient(90deg, #ff2c2c, #ff6b22);
color: white;
border: none;
border-radius: 4px;
padding: 6px 15px;
font-size: 14px;
font-weight: bold;
cursor: pointer;
}
/* 底部操作栏 */
.action-bar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
max-width: 500px;
margin: 0 auto;
background: #fff;
display: flex;
height: 60px;
box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
z-index: 100;
}
.action-btn {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: 12px;
color: #666;
}
.action-btn i {
font-size: 20px;
margin-bottom: 4px;
}
.purchase-btn {
flex: 2;
display: flex;
}
.btn-single {
flex: 1;
background: #ff9500;
color: white;
border: none;
font-size: 16px;
font-weight: bold;
}
.btn-group {
flex: 1;
background: #ff5000;
color: white;
border: none;
font-size: 16px;
font-weight: bold;
}
/* ===== 支付弹窗 ===== */
.pay-mask{
position:fixed;inset:0;z-index:999;
background:rgba(0,0,0,.45);
display:none;align-items:center;justify-content:center;
}
/* ① 适当放宽弹窗,保证二维码和按钮都有留白 */
.pay-box{
width:92%; /* → 手机端留 8% 边距 */
max-width:420px; /* → PC 也能放下 260px 二维码 */
background:#fff;
border-radius:10px;
padding:28px 24px;
text-align:center;
}
/* ② 用 .qr-code 选中 <img>,限制尺寸并居中 */
.qr-code{
width:260px; /* 你想要的显示大小 */
max-width:100%; /* 小屏自动缩小 */
height:auto;
display:block;
margin:0 auto 32px; /* 居中 + 与按钮留间距 */
border-radius:12px;
object-fit:contain; /* 防止被拉伸/裁切 */
}
/* 其余按钮样式保持不变 */
.pay-btns{display:flex;gap:16px;justify-content:center;}
.btn-primary,.btn-secondary{
flex:1;padding:12px 0;border:none;border-radius:10px;
font-size:16px;font-weight:600;cursor:pointer;
}
.btn-primary{background:#12a400;color:#fff;}
.btn-secondary{background:#f0f0f0;}