style: hero banner v3 — complete rewrite as full-viewport carousel background

This commit is contained in:
浅念
2026-10-29 10:43:12 +08:00
parent 1fe4f2c6ac
commit e0a8828a9a
+113 -98
View File
@@ -313,120 +313,135 @@
/* 画布列内区块的移动端收边(V8.33 既有约定)*/ /* 画布列内区块的移动端收边(V8.33 既有约定)*/
@media(max-width:640px){.sf-theme-trade-pro .sf-layout-column{min-width:0}.sf-theme-trade-pro .sf-canvas .sf-section{padding-inline:clamp(12px,4vw,24px)}} @media(max-width:640px){.sf-theme-trade-pro .sf-layout-column{min-width:0}.sf-theme-trade-pro .sf-canvas .sf-section{padding-inline:clamp(12px,4vw,24px)}}
/* ── 修复:确保 hero 按钮文字始终可见(白字蓝底)── */
.sf-theme-trade-pro .sf-hero-copy .sf-button{ /* ══════════════════════════════════════════════════════════
color:#ffffff !important; HERO BANNER — 全幅背景轮播大横幅
background:#0874df !important; 结构:section > container > grid > [copy, img]
} 目标:图片铺满全屏宽 → 渐变叠加 → 文字左下角 → 按钮可见
.sf-theme-trade-pro .sf-hero-copy .sf-button:hover{ ══════════════════════════════════════════════════════════ */
color:#ffffff !important;
background:#065bb8 !important; /* ── 1. section 层:去 padding、去底色、设为定位上下文 ── */
.sf-theme-trade-pro section.sf-section.sf-hero {
padding: 0 !important;
margin: 0 !important;
background: #0f2544 !important; /* 无图时的深色兜底 */
position: relative;
overflow: hidden;
} }
/* ── Hero 真全幅:背景图铺满屏幕宽度(突破 container 限制)── */ /* ── 2. container 层:撑满 section 宽度(去掉 max-width) ── */
/* section 变成定位上下文,去掉内边距 */ .sf-theme-trade-pro section.sf-section.sf-hero > .sf-container {
.sf-theme-trade-pro section.sf-section.sf-hero{ max-width: 100% !important;
position:relative; width: 100% !important;
overflow:hidden; margin: 0 !important;
padding:0!important; padding: 0 !important;
background:none!important;
} }
/* container 撑满 section 宽度 */
.sf-theme-trade-pro section.sf-section.sf-hero .sf-container{ /* ── 3. grid 层:变成全幅容器(不再是两列 grid) ── */
max-width:none!important; .sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-grid.sf-hero-layout-split {
padding:0!important; display: flex !important;
margin:0!important; flex-direction: column !important;
justify-content: flex-end !important;
position: relative !important;
min-height: min(72vh, 640px) !important;
width: 100% !important;
gap: 0 !important;
overflow: hidden;
} }
/* hero-grid 变成全幅容器 */
.sf-theme-trade-pro .sf-hero-grid.sf-hero-layout-split{ /* ── 4. 图片层:绝对定位铺满整个 hero 区域 ── */
display:block!important; .sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-img {
position:relative; position: absolute !important;
min-height:min(72vh,640px); top: 0 !important;
overflow:hidden; left: 0 !important;
right: 0 !important;
bottom: 0 !important;
width: 100% !important;
height: 100% !important;
min-height: 0 !important;
border-radius: 0 !important;
background: #0f2544 !important;
z-index: 0 !important;
overflow: hidden;
} }
/* 背景图铺满整个 section */ .sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-img img {
.sf-theme-trade-pro .sf-hero-grid.sf-hero-layout-split .sf-hero-img{ width: 100% !important;
position:absolute!important; height: 100% !important;
inset:0!important; object-fit: cover !important;
width:100%!important; display: block;
height:100%!important; max-height: none !important;
min-height:100%!important;
margin:0!important;
border-radius:0!important;
z-index:0;
} }
.sf-theme-trade-pro .sf-hero-grid.sf-hero-layout-split .sf-hero-img img{ /* 渐变叠加:左深右透 */
width:100%!important; .sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-img::after {
height:100%!important; content: '' !important;
object-fit:cover!important; position: absolute;
display:block; inset: 0;
background: linear-gradient(90deg,
rgba(15,37,68,0.82) 0%,
rgba(15,37,68,0.50) 45%,
rgba(8,116,223,0.12) 100%);
pointer-events: none;
} }
/* 左侧深色渐变叠加 */ /* 无图时的品牌渐变 */
.sf-theme-trade-pro .sf-hero-grid.sf-hero-layout-split .sf-hero-img::after{ .sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-img.sf-hero-abstract {
content:''; background: linear-gradient(135deg, #0f2544, #0874df) !important;
position:absolute;
inset:0;
z-index:1;
background:linear-gradient(90deg,
color-mix(in srgb,#0f2544 78%,transparent) 0%,
color-mix(in srgb,#0f2544 50%,transparent) 45%,
color-mix(in srgb,#0874df 15%,transparent) 100%);
pointer-events:none;
} }
/* 无图时品牌渐变底 */ .sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-img.sf-hero-abstract span { display: none !important; }
.sf-theme-trade-pro .sf-hero-grid.sf-hero-layout-split .sf-hero-img.sf-hero-abstract{ .sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-img.sf-hero-abstract::after { display: none !important; }
background:linear-gradient(135deg,#0f2544,#0874df);
/* ── 5. 文字层:在图片上方,对齐整站版心(1200px) ── */
.sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-copy {
position: relative !important;
z-index: 2 !important;
max-width: 1200px;
width: 100%;
margin: 0 auto;
padding: 0 32px calc(min(72vh, 640px) * 0.12);
display: flex;
flex-direction: column;
justify-content: flex-end;
min-height: min(72vh, 640px);
box-sizing: border-box;
color: #fff !important;
} }
.sf-theme-trade-pro .sf-hero-grid.sf-hero-layout-split .sf-hero-img.sf-hero-abstract span{display:none} .sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-copy .sf-kicker {
.sf-theme-trade-pro .sf-hero-grid.sf-hero-layout-split .sf-hero-img.sf-hero-abstract::after{display:none} color: #a8c8e8 !important;
/* 文字约束在可视容器内(与整站版心对齐) */
.sf-theme-trade-pro .sf-hero-grid.sf-hero-layout-split .sf-hero-copy{
position:relative;
z-index:2;
max-width:1200px;
margin:0 auto;
padding:calc(min(72vh,640px) * 0.18) 32px;
min-height:min(72vh,640px);
display:flex;
flex-direction:column;
justify-content:flex-end;
width:100%;
box-sizing:border-box;
} }
/* hero 内文字样式 */ .sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-copy h1,
.sf-theme-trade-pro .sf-hero-grid.sf-hero-layout-split .sf-hero-copy .sf-kicker{ .sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-copy h2 {
color:#a8c8e8!important; color: #fff !important;
text-shadow: 0 2px 16px rgba(0,0,0,0.35);
max-width: 640px;
} }
.sf-theme-trade-pro .sf-hero-grid.sf-hero-layout-split .sf-hero-copy h1, .sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-copy p {
.sf-theme-trade-pro .sf-hero-grid.sf-hero-layout-split .sf-hero-copy h2{ color: rgba(255,255,255,0.85) !important;
color:#fff!important; max-width: 560px;
text-shadow:0 2px 16px rgba(0,0,0,.35);
} }
.sf-theme-trade-pro .sf-hero-grid.sf-hero-layout-split .sf-hero-copy p{ .sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-copy .sf-button {
color:rgba(255,255,255,.85)!important; color: #ffffff !important;
background: #0874df !important;
border: none !important;
align-self: flex-start;
margin-top: 24px;
} }
.sf-theme-trade-pro .sf-hero-grid.sf-hero-layout-split .sf-hero-copy .sf-button{ .sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-copy .sf-button:hover {
color:#ffffff!important; background: #065bb8 !important;
background:#0874df!important; color: #ffffff !important;
border:0!important;
} }
.sf-theme-trade-pro .sf-hero-grid.sf-hero-layout-split .sf-hero-copy .sf-button:hover{
background:#065bb8!important; /* ── 6. 移动端:上透明下深色,文字底部 ── */
color:#ffffff!important; @media (max-width: 620px) {
} .sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-grid.sf-hero-layout-split {
/* 移动端:上透明下深色 */ min-height: min(64vh, 480px) !important;
@media (max-width:620px){
.sf-theme-trade-pro .sf-hero-grid.sf-hero-layout-split{
min-height:min(64vh,480px);
} }
.sf-theme-trade-pro .sf-hero-grid.sf-hero-layout-split .sf-hero-img::after{ .sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-img::after {
background:linear-gradient(180deg, background: linear-gradient(180deg,
transparent 0%, transparent 0%,
rgba(15,37,68,.4) 50%, rgba(15,37,68,0.35) 50%,
rgba(15,37,68,.92) 100%); rgba(15,37,68,0.92) 100%);
} }
.sf-theme-trade-pro .sf-hero-grid.sf-hero-layout-split .sf-hero-copy{ .sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-copy {
padding:20px 16px; padding: 0 16px 24px;
min-height:min(64vh,480px); min-height: min(64vh, 480px);
} }
} }