feat:修复部分问题

This commit is contained in:
liulong 2026-05-27 23:01:59 +08:00
parent ed4c96bd85
commit 95b9d928db
6 changed files with 95 additions and 53 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

View File

@ -437,6 +437,10 @@
} }
.portal-page .bottom-box { .portal-page .bottom-box {
width: 100% !important;
max-width: none !important;
margin-left: 0 !important;
margin-right: 0 !important;
height: auto !important; height: auto !important;
min-height: 280px !important; min-height: 280px !important;
overflow: visible !important; overflow: visible !important;
@ -452,8 +456,10 @@
.portal-page .bottom-box-bg { .portal-page .bottom-box-bg {
left: 0 !important; left: 0 !important;
top: 0 !important; top: 0 !important;
min-width: 0 !important;
width: 100% !important; width: 100% !important;
height: 100% !important; height: 100% !important;
transform: none !important;
object-fit: cover; object-fit: cover;
object-position: center center; object-position: center center;
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

View File

@ -304,23 +304,21 @@
</div> </div>
</section> </section>
<!-- 建立您的碳数字身份 --> <!-- 建立您的碳数字身份Figma 150645:1019 -->
<div class="bottom-box" id="section-bottom"> <div class="bottom-box" id="section-bottom">
<img <img
class="bottom-box-bg" class="bottom-box-bg"
src="@/pages/index/assets/home-szsf-bg.png" src="@/pages/index/assets/home-cta-group7-2x.png"
alt="" alt=""
aria-hidden="true" aria-hidden="true"
/> />
<div class="bottom-box-inner"> <button
<div class="bottom-box-copy"> type="button"
<div class="bottom-box-head"> class="bottom-box-cta-hotspot"
<h2 class="bottom-box-content-title">立刻获取碳身份证</h2> @click="openService"
<p class="bottom-box-desc">让中国的每一个碳都拥有独一无二的可信数字身份</p> aria-label="申请服务"
</div> title="申请服务"
<button type="button" class="bottom-box-btn" @click="openService">申请服务</button> ></button>
</div>
</div>
</div> </div>
<!-- 底部信息区 --> <!-- 底部信息区 -->
@ -2576,9 +2574,16 @@ export default {
} }
} }
/* CTA 全宽铺满视口 */ /* CTA:全屏宽(用父宽推算左右负边距,避免 50vw± 在全屏滚动下出现竖线色差) */
.portal-page .bottom-box { .portal-page .bottom-box {
.home-section-bleed(); position: relative;
width: 100vw;
max-width: none;
margin-left: ~"calc(-1 * ((100vw - 100%) / 2))";
margin-right: ~"calc(-1 * ((100vw - 100%) / 2))";
border: none;
outline: none;
box-shadow: none;
box-sizing: border-box; box-sizing: border-box;
} }
@ -2590,7 +2595,7 @@ export default {
min-height: 100vh; min-height: 100vh;
min-height: 100dvh; min-height: 100dvh;
box-sizing: border-box; box-sizing: border-box;
background-color: @home-color-footer-bg; background-color: #f5fbf7;
display: block; display: block;
overflow: hidden; overflow: hidden;
margin: 0; margin: 0;
@ -2598,23 +2603,38 @@ export default {
isolation: isolate; isolation: isolate;
} }
/* 背景向下外扩,裁掉素材底边留白 */ /* 无字背景图:保留右侧背景层次,不需要遮罩 */
.bottom-box-bg { .bottom-box-bg {
position: absolute; position: absolute;
left: -12%; left: 50%;
top: -8%; top: 50%;
width: 124%; width: 100%;
height: 118%; min-width: 100%;
max-width: none; height: 102%;
transform: translate(-50%, -50%);
display: block; display: block;
object-fit: cover; object-fit: cover;
object-position: center bottom; object-position: center center;
z-index: 0;
pointer-events: none;
user-select: none; user-select: none;
border: 0;
outline: none;
} }
/* 底边与页脚过渡,消除 12px 露白 */ /* 透明点击热区:覆盖设计稿中“申请服务”按钮区域,保持视觉不变但可点击 */
.bottom-box-cta-hotspot {
position: absolute;
z-index: 2;
left: 54.6%;
top: 56.3%;
width: 25.2%;
height: 13.6%;
border: 0;
border-radius: 8px;
background: transparent;
cursor: pointer;
}
/* 底边与页脚过渡 */
.bottom-box::after { .bottom-box::after {
position: absolute; position: absolute;
left: 0; left: 0;
@ -2629,7 +2649,7 @@ export default {
.bottom-box-inner { .bottom-box-inner {
position: relative; position: relative;
z-index: 1; z-index: 2;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: flex-end; justify-content: flex-end;
@ -2644,14 +2664,18 @@ export default {
.bottom-box-copy { .bottom-box-copy {
position: relative; position: relative;
top: auto; z-index: 1;
right: auto;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: flex-start; align-items: flex-start;
flex: 0 1 @home-cta-copy-width;
width: @home-cta-copy-width; width: @home-cta-copy-width;
max-width: 100%; max-width: 40%;
gap: @home-cta-head-to-btn-gap; gap: @home-cta-head-to-btn-gap;
padding: 16px 8px;
margin: 0;
background: transparent;
border-radius: 0;
box-sizing: border-box; box-sizing: border-box;
} }
@ -2670,8 +2694,9 @@ export default {
font-weight: @home-font-weight-semibold; font-weight: @home-font-weight-semibold;
line-height: @home-cta-title-line-height; line-height: @home-cta-title-line-height;
text-align: left; text-align: left;
color: var(--home-title-color); color: @home-color-primary-dark;
white-space: nowrap; white-space: nowrap;
text-shadow: none;
} }
.bottom-box-desc { .bottom-box-desc {
@ -2681,9 +2706,10 @@ export default {
font-weight: @home-font-weight-regular; font-weight: @home-font-weight-regular;
line-height: @home-cta-subtitle-line-height; line-height: @home-cta-subtitle-line-height;
text-align: left; text-align: left;
color: var(--home-title-color); color: @home-color-primary-dark;
max-width: @home-cta-copy-width; max-width: @home-cta-copy-width;
white-space: normal; white-space: normal;
text-shadow: none;
} }
.bottom-box-btn { .bottom-box-btn {
@ -2702,9 +2728,9 @@ export default {
line-height: @home-line-height-22; line-height: @home-line-height-22;
text-align: center; text-align: center;
cursor: pointer; cursor: pointer;
backdrop-filter: blur(@home-blur-sm);
transition: transform 0.25s ease, box-shadow 0.25s ease;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased;
transition: transform 0.25s ease, box-shadow 0.25s ease;
&:hover { &:hover {
transform: translateY(-2px); transform: translateY(-2px);
@ -2716,6 +2742,16 @@ export default {
margin-top: 0; margin-top: 0;
} }
/* 按 1:1 还原整图时,关闭代码绘制的右侧文案层 */
.bottom-box-inner,
.bottom-box-copy,
.bottom-box-head,
.bottom-box-content-title,
.bottom-box-desc,
.bottom-box-btn {
display: none;
}
@media (max-width: 767px) { @media (max-width: 767px) {
/* 容器调整 */ /* 容器调整 */
@ -3009,7 +3045,7 @@ export default {
padding: 12px; padding: 12px;
} }
/* 底部 CTA移动端内容居中,背景不左偏裁切 */ /* 底部 CTA移动端内容居中 */
.bottom-box { .bottom-box {
min-height: 300px; min-height: 300px;
height: auto; height: auto;
@ -3019,17 +3055,27 @@ export default {
.bottom-box-bg { .bottom-box-bg {
left: 0; left: 0;
top: 0; top: 0;
min-width: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
transform: none;
object-fit: cover; object-fit: cover;
object-position: center center; object-position: center center;
} }
.bottom-box-cta-hotspot {
left: 10%;
top: 62%;
width: 80%;
height: 12%;
}
.bottom-box-inner { .bottom-box-inner {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
min-height: 300px; min-height: 300px;
height: auto; height: auto;
max-width: 100%;
padding: 40px var(--home-section-px, 16px) 48px; padding: 40px var(--home-section-px, 16px) 48px;
box-sizing: border-box; box-sizing: border-box;
} }
@ -3037,9 +3083,13 @@ export default {
.bottom-box-copy { .bottom-box-copy {
width: 100%; width: 100%;
max-width: 100%; max-width: 100%;
padding: 0; flex: none;
padding: 0 12px;
margin-left: 0;
gap: 20px; gap: 20px;
align-items: center; align-items: center;
border-radius: 0;
background: transparent;
} }
.bottom-box-head { .bottom-box-head {

View File

@ -2,7 +2,6 @@
<div class="search-page portal-page-shell"> <div class="search-page portal-page-shell">
<!-- 搜索区域背景 --> <!-- 搜索区域背景 -->
<div class="search-hero"> <div class="search-hero">
<div class="hero-bg-overlay"></div>
<div class="hero-content"> <div class="hero-content">
<h1 class="hero-title">搜索碳资产企业服务</h1> <h1 class="hero-title">搜索碳资产企业服务</h1>
<p class="hero-subtitle">一站式碳信息搜索平台快速定位所需内容</p> <p class="hero-subtitle">一站式碳信息搜索平台快速定位所需内容</p>
@ -165,12 +164,10 @@ import searchApi from '@/pages/index/api/search.js';
export default { export default {
name: 'SearchPage', name: 'SearchPage',
components: {
Footer,
},
data() { data() {
return { return {
keyword: '', keyword: '',
currentCategory: 'all',
selectedCategory: 'all', selectedCategory: 'all',
categoryOptions: [ categoryOptions: [
{ label: '全部分类', value: 'all' }, { label: '全部分类', value: 'all' },
@ -376,7 +373,7 @@ export default {
// //
.search-hero { .search-hero {
position: relative; position: relative;
background: linear-gradient(135deg, #007242 0%, #009a29 50%, #00b96b 100%); background: #f5f7fa;
padding: 80px 20px 60px; padding: 80px 20px 60px;
overflow: hidden; overflow: hidden;
@ -388,20 +385,10 @@ export default {
right: 0; right: 0;
bottom: 0; bottom: 0;
background: url('~@/pages/index/assets/home-top-bg1.jpg') center/cover no-repeat; background: url('~@/pages/index/assets/home-top-bg1.jpg') center/cover no-repeat;
opacity: 0.3; opacity: 1;
} }
} }
.hero-bg-overlay {
opacity: 0.5;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(180deg, rgba(0, 114, 66, 0.9) 0%, rgba(0, 154, 41, 0.85) 100%);
}
.hero-content { .hero-content {
position: relative; position: relative;
z-index: 1; z-index: 1;

View File

@ -21,8 +21,7 @@ import {
isAllowedIframeMessageOrigin, isAllowedIframeMessageOrigin,
} from '@/pages/index/utils/tzzx-iframe'; } from '@/pages/index/utils/tzzx-iframe';
/** 视口降级时 iframe 高度 = 视口高度 - 该偏移(预留顶栏/底边距) */ // 使 CSS --page-offset-top main.vue
const VIEWPORT_HEIGHT_OFFSET = 100;
export default { export default {
name: 'tzzx', name: 'tzzx',
@ -53,7 +52,7 @@ export default {
} }
return { return {
...base, ...base,
height: `calc(100vh - ${VIEWPORT_HEIGHT_OFFSET}px)`, height: 'calc(100dvh - var(--page-offset-top))',
minHeight: '480px', minHeight: '480px',
}; };
}, },