327 lines
5.9 KiB
CSS
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;} |