fix: 优化主图布局和内容显示

- 主图1: 正面图放大,周围留白统一
- 主图2: 改为竖向排列,标题改为可选CPU和可选内存硬盘
- 主图3: 大图周围留白减少,右侧卖点填充满
- 主图4: 竖向排列,修改文案(包邮、详细教程、标配等)
- 主图5: 调整底部间距,避免重叠
This commit is contained in:
12600k-rog-d4
2026-04-04 22:42:54 +08:00
parent 0109d8e98a
commit c45b8eacd0
12 changed files with 254 additions and 273 deletions

View File

@@ -30,63 +30,63 @@
/* 背景光晕效果 */
.glow {
position: absolute;
width: 600px;
height: 600px;
background: radial-gradient(circle, rgba(144,238,144,0.15) 0%, transparent 70%);
width: 650px;
height: 650px;
background: radial-gradient(circle, rgba(144,238,144,0.18) 0%, transparent 70%);
top: 50%;
left: 50%;
transform: translate(-50%, -30%);
transform: translate(-50%, -35%);
pointer-events: none;
}
/* 顶部标题 */
.header {
position: absolute;
top: 25px;
top: 20px;
left: 0;
right: 0;
text-align: center;
z-index: 10;
}
.title {
font-size: 44px;
font-size: 40px;
font-weight: bold;
color: #fff;
text-shadow: 0 2px 10px rgba(0,0,0,0.5);
letter-spacing: 4px;
}
.subtitle {
font-size: 22px;
font-size: 20px;
color: #a8e6a8;
margin-top: 8px;
margin-top: 6px;
letter-spacing: 3px;
}
/* 产品展示台 */
/* 产品展示台 - 更大 */
.product-stage {
width: 520px;
height: 420px;
width: 600px;
height: 480px;
background: rgba(255,255,255,0.08);
border-radius: 30px;
border-radius: 25px;
display: flex;
align-items: center;
justify-content: center;
position: relative;
margin-top: 30px;
margin-top: 20px;
backdrop-filter: blur(5px);
border: 1px solid rgba(255,255,255,0.15);
box-shadow:
0 20px 60px rgba(0,0,0,0.3),
inset 0 1px 0 rgba(255,255,255,0.1);
}
/* 产品图片 */
/* 产品图片 - 放大 */
.product-img-wrapper {
position: relative;
padding: 20px;
padding: 15px;
}
.product-img {
max-width: 420px;
max-height: 340px;
max-width: 520px;
max-height: 420px;
object-fit: contain;
border-radius: 15px;
border-radius: 12px;
box-shadow:
0 15px 40px rgba(0,0,0,0.4),
0 0 0 1px rgba(255,255,255,0.1);
@@ -97,10 +97,10 @@
top: 100%;
left: 50%;
transform: translateX(-50%) scaleY(-1);
max-width: 420px;
max-height: 340px;
max-width: 520px;
max-height: 420px;
object-fit: contain;
opacity: 0.15;
opacity: 0.12;
filter: blur(3px);
mask-image: linear-gradient(to top, rgba(0,0,0,0.3), transparent);
-webkit-mask-image: linear-gradient(to top, rgba(0,0,0,0.3), transparent);
@@ -108,16 +108,16 @@
/* 卖点标签 */
.features {
position: absolute;
bottom: 110px;
bottom: 100px;
display: flex;
gap: 15px;
gap: 12px;
z-index: 10;
}
.feature-tag {
background: linear-gradient(135deg, #fff 0%, #f0f8f0 100%);
padding: 10px 20px;
border-radius: 25px;
font-size: 18px;
padding: 8px 18px;
border-radius: 20px;
font-size: 17px;
color: #1a5f2a;
font-weight: bold;
box-shadow: 0 4px 20px rgba(0,0,0,0.25);
@@ -126,21 +126,21 @@
/* 底部信息 */
.footer {
position: absolute;
bottom: 35px;
bottom: 30px;
text-align: center;
z-index: 10;
}
.brand {
font-size: 30px;
font-size: 26px;
color: #fff;
font-weight: bold;
letter-spacing: 3px;
text-shadow: 0 2px 10px rgba(0,0,0,0.3);
}
.slogan {
font-size: 16px;
font-size: 14px;
color: #a8e6a8;
margin-top: 5px;
margin-top: 4px;
}
/* 装饰元素 */
.deco-line {
@@ -149,14 +149,14 @@
height: 1px;
}
.deco-1 {
top: 150px;
left: 100px;
right: 100px;
top: 130px;
left: 80px;
right: 80px;
}
.deco-2 {
bottom: 180px;
left: 150px;
right: 150px;
bottom: 160px;
left: 120px;
right: 120px;
}
</style>
</head>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 KiB

After

Width:  |  Height:  |  Size: 447 KiB

View File

@@ -21,87 +21,76 @@
.container {
width: 100%;
height: 100%;
padding: 40px;
position: relative;
padding: 30px 40px;
display: flex;
flex-direction: column;
}
/* 顶部标题 */
.header {
text-align: center;
margin-bottom: 30px;
margin-bottom: 15px;
}
.title {
font-size: 42px;
font-size: 36px;
font-weight: bold;
color: #1a5f2a;
letter-spacing: 3px;
}
.subtitle {
font-size: 22px;
font-size: 16px;
color: #4a8f5a;
margin-top: 8px;
margin-top: 5px;
}
/* 配置列表 */
/* 配置列表 - 竖向排列 */
.config-section {
display: flex;
gap: 30px;
margin-top: 20px;
flex-direction: column;
gap: 15px;
flex: 1;
align-items: center;
justify-content: center;
}
.config-card {
flex: 1;
width: 100%;
background: #fff;
border-radius: 20px;
padding: 30px;
border-radius: 15px;
padding: 15px 20px;
box-shadow: 0 8px 30px rgba(26, 95, 42, 0.15);
border: 2px solid #2d8a3e;
}
.config-title {
font-size: 28px;
font-size: 22px;
font-weight: bold;
color: #1a5f2a;
text-align: center;
margin-bottom: 25px;
padding-bottom: 15px;
margin-bottom: 12px;
padding-bottom: 8px;
border-bottom: 3px solid #90ee90;
}
.config-item {
.config-tags {
display: flex;
align-items: center;
margin-bottom: 18px;
font-size: 20px;
color: #333;
}
.config-label {
width: 100px;
font-weight: bold;
color: #2d8a3e;
}
.config-value {
flex: 1;
color: #555;
flex-wrap: wrap;
justify-content: center;
gap: 8px;
}
.config-tag {
display: inline-block;
background: #e8f5e9;
color: #1a5f2a;
padding: 4px 12px;
padding: 6px 14px;
border-radius: 15px;
font-size: 16px;
margin-right: 8px;
margin-bottom: 8px;
font-size: 15px;
}
/* 底部强调 */
.footer {
position: absolute;
bottom: 40px;
left: 40px;
right: 40px;
background: linear-gradient(90deg, #1a5f2a, #2d8a3e);
border-radius: 15px;
padding: 20px;
border-radius: 12px;
padding: 12px;
text-align: center;
margin-top: 10px;
}
.footer-text {
font-size: 26px;
font-size: 20px;
color: #fff;
font-weight: bold;
letter-spacing: 2px;
@@ -126,31 +115,27 @@
<div class="subtitle">灵活配置 · 满足多样需求</div>
</div>
<!-- 配置展示 -->
<!-- 配置展示 - 竖向排列 -->
<div class="config-section">
<div class="config-card">
<div class="config-title">支持 CPU</div>
<div class="config-item">
<span class="config-value">
<span class="config-tag">N2840</span>
<span class="config-tag">N2930</span>
<span class="config-tag">AMD A4</span>
<span class="config-tag">1037U</span>
<span class="config-tag">J1900</span>
<span class="config-tag">J3160</span>
<span class="config-tag">i3</span>
</span>
<div class="config-title">可选 CPU</div>
<div class="config-tags">
<span class="config-tag">N2840</span>
<span class="config-tag">N2930</span>
<span class="config-tag">AMD A4</span>
<span class="config-tag">1037U</span>
<span class="config-tag">J1900</span>
<span class="config-tag">J3160</span>
<span class="config-tag">i3</span>
</div>
</div>
<div class="config-card">
<div class="config-title">内存配置</div>
<div class="config-item">
<span class="config-value">
<span class="config-tag">2G-16G</span>
<span class="config-tag">2G-32G</span>
<span class="config-tag">4G-64G</span>
<span class="config-tag">4G-128G</span>
</span>
<div class="config-title">可选内存硬盘</div>
<div class="config-tags">
<span class="config-tag">2G-16G</span>
<span class="config-tag">2G-32G</span>
<span class="config-tag">4G-64G</span>
<span class="config-tag">4G-128G</span>
</div>
</div>
</div>
@@ -161,4 +146,4 @@
</div>
</div>
</body>
</html>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

After

Width:  |  Height:  |  Size: 112 KiB

View File

@@ -22,20 +22,22 @@
width: 100%;
height: 100%;
position: relative;
padding: 25px;
padding: 15px 20px;
display: flex;
flex-direction: column;
}
/* 顶部绿色条 */
.top-bar {
height: 90px;
height: 70px;
background: linear-gradient(90deg, #1a5f2a, #2d8a3e, #1a5f2a);
display: flex;
align-items: center;
justify-content: center;
border-radius: 20px;
border-radius: 12px;
box-shadow: 0 5px 20px rgba(26,95,42,0.3);
}
.top-title {
font-size: 36px;
font-size: 28px;
color: #fff;
font-weight: bold;
letter-spacing: 4px;
@@ -44,52 +46,44 @@
/* 中间内容区 */
.content {
display: flex;
gap: 20px;
height: calc(100% - 130px);
margin-top: 15px;
gap: 12px;
flex: 1;
margin-top: 10px;
margin-bottom: 60px;
}
/* 左侧图片区 */
.image-section {
flex: 1.3;
flex: 1.2;
display: flex;
flex-direction: column;
gap: 12px;
gap: 8px;
}
.main-image {
flex: 1;
background: #fff;
border-radius: 20px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
box-shadow: 0 8px 30px rgba(0,0,0,0.1);
border: 3px solid #fff;
position: relative;
}
.main-image::after {
content: '';
position: absolute;
bottom: 0;
left: 10%;
right: 10%;
height: 20px;
background: radial-gradient(ellipse, rgba(0,0,0,0.15), transparent);
border: 2px solid #fff;
padding: 5px;
}
.main-image img {
max-width: 95%;
max-height: 95%;
max-width: 98%;
max-height: 98%;
object-fit: contain;
}
.sub-images {
display: flex;
gap: 10px;
height: 100px;
gap: 6px;
height: 70px;
}
.sub-image {
flex: 1;
background: #fff;
border-radius: 12px;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
@@ -98,75 +92,67 @@
border: 2px solid #fff;
}
.sub-image img {
max-width: 90%;
max-height: 90%;
max-width: 92%;
max-height: 92%;
object-fit: contain;
}
/* 右侧卖点区 */
/* 右侧卖点区 - 填充满 */
.features-section {
flex: 1;
display: flex;
flex-direction: column;
gap: 12px;
gap: 8px;
}
.feature-box {
flex: 1;
background: #fff;
border-radius: 15px;
padding: 18px;
border-radius: 10px;
padding: 12px 15px;
box-shadow: 0 5px 20px rgba(0,0,0,0.08);
border-left: 4px solid #2d8a3e;
position: relative;
overflow: hidden;
}
.feature-box::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 60px;
height: 60px;
background: linear-gradient(135deg, transparent 50%, rgba(45,138,62,0.05) 50%);
display: flex;
flex-direction: column;
}
.feature-icon {
width: 36px;
height: 36px;
width: 28px;
height: 28px;
background: linear-gradient(135deg, #2d8a3e, #1a5f2a);
border-radius: 10px;
border-radius: 7px;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 18px;
font-size: 14px;
font-weight: bold;
margin-bottom: 8px;
}
.feature-title {
font-size: 18px;
font-weight: bold;
color: #1a5f2a;
margin-bottom: 5px;
}
.feature-title {
font-size: 15px;
font-weight: bold;
color: #1a5f2a;
margin-bottom: 3px;
}
.feature-desc {
font-size: 13px;
font-size: 11px;
color: #666;
line-height: 1.5;
line-height: 1.3;
}
/* 底部 */
.bottom-bar {
position: absolute;
bottom: 25px;
left: 25px;
right: 25px;
height: 60px;
bottom: 15px;
left: 20px;
right: 20px;
height: 50px;
background: linear-gradient(90deg, #1a5f2a, #2d8a3e);
border-radius: 15px;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 5px 20px rgba(26,95,42,0.3);
}
.bottom-text {
font-size: 22px;
font-size: 18px;
color: #fff;
font-weight: bold;
letter-spacing: 2px;
@@ -200,7 +186,7 @@
</div>
</div>
<!-- 右侧卖点 -->
<!-- 右侧卖点 - 填充满 -->
<div class="features-section">
<div class="feature-box">
<div class="feature-icon">1</div>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 295 KiB

After

Width:  |  Height:  |  Size: 261 KiB

View File

@@ -22,53 +22,57 @@
width: 100%;
height: 100%;
position: relative;
padding: 30px;
padding: 25px 30px;
display: flex;
flex-direction: column;
}
/* 顶部标题区 */
.header {
text-align: center;
margin-bottom: 20px;
margin-bottom: 15px;
}
.title {
font-size: 40px;
font-size: 36px;
font-weight: bold;
color: #fff;
text-shadow: 0 2px 10px rgba(0,0,0,0.3);
letter-spacing: 4px;
}
.subtitle {
font-size: 20px;
font-size: 18px;
color: #c8e6c9;
margin-top: 8px;
margin-top: 5px;
}
/* 包装内容区 */
/* 包装内容区 - 竖向排列 */
.package-section {
display: flex;
gap: 20px;
margin-top: 15px;
}
/* 左侧包装图 */
.package-image {
flex-direction: column;
gap: 12px;
flex: 1;
align-items: center;
justify-content: center;
margin-bottom: 65px;
}
/* 包装图 */
.package-image {
width: 100%;
background: #fff;
border-radius: 20px;
padding: 20px;
border-radius: 12px;
padding: 12px;
box-shadow: 0 10px 40px rgba(0,0,0,0.15);
display: flex;
flex-direction: column;
align-items: center;
gap: 15px;
}
.package-img-container {
width: 100%;
height: 220px;
width: 180px;
height: 150px;
background: linear-gradient(135deg, #f5f5f5, #e8e8e8);
border-radius: 15px;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
margin-bottom: 15px;
box-shadow: inset 0 2px 10px rgba(0,0,0,0.05);
}
.package-img-container img {
max-width: 90%;
@@ -76,37 +80,42 @@
object-fit: contain;
}
.package-label {
font-size: 20px;
font-size: 18px;
font-weight: bold;
color: #1a5f2a;
}
/* 右侧清单 */
/* 配件清单 */
.checklist {
flex: 1;
width: 100%;
background: #fff;
border-radius: 20px;
padding: 20px;
border-radius: 12px;
padding: 12px 15px;
box-shadow: 0 10px 40px rgba(0,0,0,0.15);
}
.checklist-title {
font-size: 22px;
font-size: 18px;
font-weight: bold;
color: #1a5f2a;
text-align: center;
margin-bottom: 15px;
padding-bottom: 10px;
margin-bottom: 10px;
padding-bottom: 6px;
border-bottom: 2px solid #90ee90;
}
.checklist-items {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.checklist-item {
display: flex;
align-items: center;
margin-bottom: 12px;
font-size: 16px;
font-size: 14px;
color: #333;
width: calc(50% - 4px);
}
.check-icon {
width: 24px;
height: 24px;
width: 18px;
height: 18px;
background: linear-gradient(135deg, #2d8a3e, #1a5f2a);
border-radius: 50%;
display: flex;
@@ -114,19 +123,19 @@
justify-content: center;
color: #fff;
font-weight: bold;
margin-right: 10px;
font-size: 14px;
margin-right: 6px;
font-size: 11px;
flex-shrink: 0;
}
/* 底部保障 */
.guarantee {
position: absolute;
bottom: 30px;
bottom: 25px;
left: 30px;
right: 30px;
background: linear-gradient(90deg, #1a5f2a, #2d8a3e);
border-radius: 15px;
padding: 18px;
border-radius: 12px;
padding: 15px;
display: flex;
justify-content: space-around;
box-shadow: 0 5px 25px rgba(26,95,42,0.4);
@@ -136,36 +145,23 @@
color: #fff;
}
.guarantee-icon {
font-size: 28px;
margin-bottom: 5px;
font-size: 24px;
margin-bottom: 4px;
}
.guarantee-text {
font-size: 14px;
}
/* 装饰 */
.wave {
position: absolute;
top: 28%;
left: 0;
right: 0;
height: 20px;
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120'%3E%3Cpath fill='%23e8f5e9' d='M0,60 C150,120 350,0 600,60 C850,120 1050,0 1200,60 L1200,120 L0,120 Z'/%3E%3C/svg%3E");
background-size: cover;
font-size: 12px;
}
</style>
</head>
<body>
<div class="container">
<!-- 波浪分隔 -->
<div class="wave"></div>
<!-- 顶部标题 -->
<div class="header">
<div class="title">专业包装 · 安全送达</div>
<div class="subtitle">配件齐全 · 安装无忧</div>
</div>
<!-- 包装内容 -->
<!-- 包装内容 - 竖向排列 -->
<div class="package-section">
<!-- 包装图 -->
<div class="package-image">
@@ -178,25 +174,31 @@
<!-- 配件清单 -->
<div class="checklist">
<div class="checklist-title">包装清单</div>
<div class="checklist-item">
<div class="check-icon"></div>
<span>亚克力机箱主体</span>
</div>
<div class="checklist-item">
<div class="check-icon"></div>
<span>安装螺丝包</span>
</div>
<div class="checklist-item">
<div class="check-icon"></div>
<span>SATA数据线</span>
</div>
<div class="checklist-item">
<div class="check-icon"></div>
<span>电源适配器(选配)</span>
</div>
<div class="checklist-item">
<div class="check-icon"></div>
<span>安装说明书+视频教程</span>
<div class="checklist-items">
<div class="checklist-item">
<div class="check-icon"></div>
<span>亚克力机箱主体</span>
</div>
<div class="checklist-item">
<div class="check-icon"></div>
<span>安装螺丝包</span>
</div>
<div class="checklist-item">
<div class="check-icon"></div>
<span>硬盘电源线、数据线</span>
</div>
<div class="checklist-item">
<div class="check-icon"></div>
<span>电源适配器(标配)</span>
</div>
<div class="checklist-item">
<div class="check-icon"></div>
<span>安装说明书</span>
</div>
<div class="checklist-item">
<div class="check-icon"></div>
<span>详细教程</span>
</div>
</div>
</div>
</div>
@@ -205,15 +207,15 @@
<div class="guarantee">
<div class="guarantee-item">
<div class="guarantee-icon">🚚</div>
<div class="guarantee-text">顺丰包邮</div>
<div class="guarantee-text">包邮</div>
</div>
<div class="guarantee-item">
<div class="guarantee-icon">🛡️</div>
<div class="guarantee-text">破损包赔</div>
</div>
<div class="guarantee-item">
<div class="guarantee-icon">📞</div>
<div class="guarantee-text">技术支持</div>
<div class="guarantee-icon">📖</div>
<div class="guarantee-text">详细教程</div>
</div>
<div class="guarantee-item">
<div class="guarantee-icon">↩️</div>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 KiB

After

Width:  |  Height:  |  Size: 122 KiB

View File

@@ -22,7 +22,9 @@
width: 100%;
height: 100%;
position: relative;
padding: 50px;
padding: 25px 35px;
display: flex;
flex-direction: column;
}
/* 背景装饰 */
.bg-pattern {
@@ -38,84 +40,86 @@
/* 主标题 */
.main-title {
text-align: center;
margin-bottom: 40px;
margin-bottom: 20px;
}
.title {
font-size: 52px;
font-size: 40px;
font-weight: bold;
color: #fff;
text-shadow: 3px 3px 6px rgba(0,0,0,0.4);
letter-spacing: 5px;
}
.subtitle {
font-size: 26px;
font-size: 18px;
color: #90ee90;
margin-top: 15px;
margin-top: 8px;
}
/* 应用场景网格 */
.scenarios {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 30px;
margin-top: 30px;
gap: 15px;
flex: 1;
align-items: center;
justify-content: center;
margin-bottom: 55px;
}
.scenario-card {
background: rgba(255,255,255,0.95);
border-radius: 20px;
padding: 35px;
border-radius: 12px;
padding: 20px;
text-align: center;
box-shadow: 0 10px 40px rgba(0,0,0,0.3);
transition: transform 0.3s;
}
.scenario-icon {
width: 80px;
height: 80px;
width: 50px;
height: 50px;
background: linear-gradient(135deg, #1a5f2a, #2d8a3e);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 20px;
font-size: 40px;
margin: 0 auto 12px;
font-size: 26px;
color: #fff;
}
.scenario-title {
font-size: 28px;
font-size: 20px;
font-weight: bold;
color: #1a5f2a;
margin-bottom: 12px;
margin-bottom: 6px;
}
.scenario-desc {
font-size: 18px;
font-size: 12px;
color: #555;
line-height: 1.6;
line-height: 1.4;
}
/* 底部CTA */
.cta {
position: absolute;
bottom: 50px;
left: 50px;
right: 50px;
bottom: 25px;
left: 35px;
right: 35px;
background: linear-gradient(90deg, #fff, #f0f8f0);
border-radius: 15px;
padding: 25px;
border-radius: 10px;
padding: 15px;
display: flex;
align-items: center;
justify-content: center;
gap: 30px;
gap: 15px;
box-shadow: 0 8px 30px rgba(0,0,0,0.3);
}
.cta-text {
font-size: 32px;
font-size: 22px;
font-weight: bold;
color: #1a5f2a;
}
.cta-badge {
background: #ff6b35;
color: #fff;
padding: 12px 30px;
border-radius: 30px;
font-size: 24px;
padding: 8px 20px;
border-radius: 20px;
font-size: 16px;
font-weight: bold;
}
</style>
@@ -160,4 +164,4 @@
</div>
</div>
</body>
</html>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 244 KiB

After

Width:  |  Height:  |  Size: 227 KiB