fix(visual): 1:1 banner/hero/modal + strip non-zibll card chrome

Align banner s-desc caption/scale-height, hero search pill and -40px cards, modal colorful header/spring scale; remove white/pink card borders and hover lifts across mainline surfaces.
This commit is contained in:
2026-07-10 23:37:20 +08:00
parent b821378a7d
commit 188611b075
46 changed files with 494 additions and 215 deletions
+60 -15
View File
@@ -17,10 +17,10 @@
* ============================================================ */
.aksrt-slider-wrapper {
position: relative;
margin-bottom: 24px;
border-radius: var(--radius-2xl, 16px);
margin-bottom: 20px;
border-radius: var(--main-radius, var(--radius, 8px));
overflow: hidden;
box-shadow: var(--shadow);
box-shadow: 0 0 10px var(--main-shadow, rgba(116, 116, 116, 0.08));
}
.new-swiper {
@@ -111,33 +111,78 @@
}
/* 幻灯片文字覆盖层 */
.aksrt-slide-text {
/* zibll .slide-text / .s-desc */
.aksrt-slide-text,
.s-desc,
.slide-text {
position: absolute;
color: #fff;
z-index: 2;
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}
.aksrt-slide-text,
.slide-text:not(.s-desc) {
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 2;
width: calc(100% - 32px);
max-width: 920px;
text-align: center;
color: #fff;
background: unset;
bottom: unset;
}
.aksrt-slide-text__title {
font-family: var(--font-display, var(--font-ui));
font-size: clamp(1.75rem, 4vw, 3rem);
font-weight: 700;
.s-desc {
bottom: 0;
left: 0;
top: auto;
transform: none;
width: 100%;
padding: 1.8em 2.5em;
background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), transparent);
border-radius: 0 0 var(--main-radius, 8px) var(--main-radius, 8px);
font-size: 16px;
text-align: left;
}
.aksrt-slide-text__title,
.slide-title {
font-family: var(--font-ui);
font-size: clamp(1.5rem, 3.2vw, 2.25rem);
font-weight: 600;
margin: 0 0 12px;
line-height: 1.2;
text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
line-height: 1.25;
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}
.aksrt-slide-text__desc {
.s-desc .aksrt-slide-text__title,
.s-desc .slide-title {
font-size: 16px;
font-weight: normal;
}
.aksrt-slide-text__desc,
.slide-desc {
font-size: clamp(0.9rem, 1.4vw, 1.125rem);
margin: 0;
line-height: 1.6;
color: rgba(255, 255, 255, 0.9);
text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
color: rgba(255, 255, 255, 0.95);
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}
.scale-height {
--scale-height: 40%;
--pc-height: 100%;
--m-height: 100%;
padding-bottom: var(--scale-height);
width: 100%;
height: 0;
}
.scale-height .swiper-wrapper,
.scale-height .swiper-slide img {
position: absolute;
}
/* 移动端高度 */
@@ -317,20 +317,30 @@
}
/* ============================================================
* Banner Module — 内联轮播条(模仿 zibll)
* Banner Module — 1:1 Zibll (.s-desc / widget slider card)
* 圆角 = --main-radius,阴影 = main-shadow,文案底渐变条
* ============================================================ */
.banner-module {
position: relative;
width: 100%;
border-radius: 12px;
border-radius: var(--main-radius, var(--radius, 8px));
overflow: hidden;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
box-shadow: 0 0 10px var(--main-shadow, rgba(116, 116, 116, 0.08));
margin-bottom: 20px;
background: var(--main-bg-color, var(--surface-1));
}
.banner-module__swiper {
position: relative;
width: 100%;
height: clamp(180px, 22vw, 300px);
height: 0;
padding-bottom: 40%;
}
.banner-module__swiper .swiper-wrapper {
position: absolute;
inset: 0;
height: 100%;
}
.banner-module__swiper .swiper-slide {
@@ -352,99 +362,108 @@
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 0;
}
.banner-module__slide-fallback {
width: 100%;
height: 100%;
background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark, #5a8bc4));
background: linear-gradient(135deg, var(--color-primary), var(--color-primary-active, var(--color-primary-dark)));
}
.banner-module__slide-overlay {
position: absolute;
inset: 0;
background: linear-gradient(
to bottom,
rgba(0, 0, 0, 0) 0%,
rgba(0, 0, 0, 0.15) 50%,
rgba(0, 0, 0, 0.5) 100%
);
left: 0;
right: 0;
bottom: 0;
top: auto;
height: 45%;
background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), transparent);
pointer-events: none;
border-radius: 0 0 var(--main-radius, 8px) var(--main-radius, 8px);
z-index: 1;
}
.banner-module__content {
position: absolute;
bottom: 24px;
left: 24px;
right: 24px;
bottom: 0;
left: 0;
right: 0;
z-index: 2;
color: #fff;
max-width: 680px;
max-width: none;
padding: 1.8em 2.5em;
font-size: 16px;
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}
.banner-module__title {
font-family: var(--font-display, var(--font-ui));
font-size: clamp(1.125rem, 2vw, 1.5rem);
font-weight: 700;
font-family: var(--font-ui);
font-size: 16px;
font-weight: normal;
margin: 0 0 4px;
line-height: 1.3;
text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
line-height: 1.4;
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}
.banner-module__subtitle {
font-size: clamp(0.8125rem, 1.2vw, 0.9375rem);
font-size: 14px;
margin: 0;
opacity: 0.9;
opacity: 0.95;
line-height: 1.5;
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}
/* Swiper 导航箭头 */
.banner-module .swiper-button-prev,
.banner-module .swiper-button-next {
width: 36px;
height: 36px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.85);
color: var(--color-ink);
width: 30px;
height: 40px;
border-radius: 0;
background: transparent;
color: #fff;
text-shadow: 0 0 6px #444;
opacity: 0;
pointer-events: none;
z-index: 10;
transition: opacity 0.3s ease, transform 0.2s ease;
transition: opacity 0.3s, background-color 0.3s;
}
.banner-module .swiper-button-prev::after,
.banner-module .swiper-button-next::after {
font-size: 14px;
font-size: 16px;
font-weight: 700;
}
.banner-module:hover .swiper-button-prev,
.banner-module:hover .swiper-button-next {
opacity: 1;
opacity: 0.8;
pointer-events: auto;
}
.banner-module .swiper-button-prev:hover,
.banner-module .swiper-button-next:hover {
transform: scale(1.1);
background: #fff;
opacity: 1;
background-color: rgba(0, 0, 0, 0.3);
transform: none;
}
/* Banner 响应式 */
@media (max-width: 767px) {
.banner-module {
border-radius: 8px;
border-radius: var(--main-radius, 8px);
}
.banner-module__swiper {
height: clamp(120px, 30vw, 180px);
padding-bottom: 50%;
height: 0;
}
.banner-module__content {
bottom: 12px;
left: 12px;
right: 12px;
padding: 1em 1.2em;
font-size: 14px;
}
.banner-module__title {
font-size: 14px;
}
.banner-module .swiper-button-prev,
@@ -452,4 +471,3 @@
display: none;
}
}
@@ -137,20 +137,123 @@
font-size: var(--hero-text-size-pc);
}
/* 幻灯片遮罩 */
/* 幻灯片遮罩 — 轻量压暗(zibll 以 .s-desc 底条为主) */
.header-components__slide-overlay {
position: absolute;
inset: 0;
background: linear-gradient(
to bottom,
rgba(0, 0, 0, 0.1) 0%,
rgba(0, 0, 0, 0.25) 40%,
rgba(0, 0, 0, 0.55) 100%
rgba(0, 0, 0, 0.05) 0%,
rgba(0, 0, 0, 0.12) 55%,
rgba(0, 0, 0, 0.28) 100%
);
z-index: 1;
pointer-events: none;
}
/* zibll .s-desc 底条文案 */
.header-components__content.s-desc,
.header-components__content.slide-text.s-desc {
top: auto;
bottom: 0;
left: 0;
right: 0;
transform: none;
width: 100%;
max-width: none;
text-align: left;
padding: 1.8em 2.5em;
background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), transparent);
border-radius: 0 0 var(--main-radius, 8px) var(--main-radius, 8px);
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
font-size: 16px;
}
.header-components__content.s-desc .header-components__title,
.header-components__content.s-desc .slide-title {
font-size: 16px;
font-weight: normal;
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
letter-spacing: 0;
}
.header-components__content.slide-text {
background: unset;
}
/* 搜索层 — header-slider-search */
.header-components-search {
position: absolute;
left: 50%;
top: calc(50% - 10px);
transform: translate(-50%, -50%);
max-width: 840px;
width: calc(100% - 40px);
margin: auto;
padding: 0 20px;
font-size: 17px;
z-index: 2;
color: #fff;
}
.card-0 .header-components-search {
top: calc(50% + 20px);
}
.header-components-search .line-form {
background: rgba(255, 255, 255, 0.8);
border-radius: 100px;
padding: 0.5em 1.2em;
z-index: 1;
color: #555;
border: none;
box-shadow: none;
}
.has-blur-pc .header-components-search .line-form,
.has-blur-mobile .header-components-search .line-form,
.filter-blur .header-components-search .line-form {
-webkit-backdrop-filter: saturate(5) blur(20px);
backdrop-filter: saturate(5) blur(20px);
}
.header-components-search .line-form .icon,
.header-components-search .line-form a {
color: #555;
}
/* 图标卡 — header-slider-card margin-top:-40px */
.header-components-card {
position: relative;
margin-top: -40px;
z-index: 1;
}
.header-components-card .zib-widget,
.header-components-card .aksrt-theme-box,
.header-components-card .icon-cover-card {
margin-bottom: 0;
}
.has-blur-pc .header-components-card .zib-widget,
.has-blur-pc .header-components-card .aksrt-theme-box,
.has-blur-mobile .header-components-card .zib-widget,
.filter-blur .header-components-card .zib-widget {
-webkit-backdrop-filter: saturate(5) blur(20px);
backdrop-filter: saturate(5) blur(20px);
background: var(--blur-bg);
}
.header-components.slide-header {
border-radius: 0;
}
.header-components.slide-header .swiper-slide img,
.header-components.slide-header .header-components__slide-bg img {
border-radius: 0 !important;
}
/* 幻灯片文字内容 */
.header-components__content {
position: absolute;
@@ -165,15 +268,16 @@
color: #fff;
}
.header-components__title {
font-family: var(--font-display, var(--font-ui));
font-size: clamp(1.75rem, 4vw, 3rem);
font-weight: 700;
.header-components__title,
.header-components .slide-title {
font-family: var(--font-ui);
font-size: clamp(1.5rem, 3.2vw, 2.25rem);
font-weight: 600;
margin: 0 0 12px;
line-height: 1.2;
letter-spacing: -0.02em;
line-height: 1.25;
letter-spacing: 0;
color: #fff;
text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5), 0 1px 3px rgba(0, 0, 0, 0.4);
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}
.header-components__subtitle {