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:
kate522 committed 2026-07-10 23:37:20 +08:00
1 parent b821378a7d
commit 188611b075
46 files changed
+494 -215

No files matched your search

@@ -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;
}
}