From e995ffea4b6d7c3475a5ca2ca1ee727a52059482 Mon Sep 17 00:00:00 2001 From: xumengxiang <302869564@qq.com> Date: Mon, 14 Sep 2026 19:50:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B3=E4=BA=8E=E9=A1=B5=E9=9D=A2=20?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/themes/dist_static/static/css/about.css | 98 ++++++--- public/themes/dist_static/static/js/about.js | 36 ++++ public/themes/website/1/zh/demo/about.html | 280 ++++++++++++++++--------- 3 files changed, 287 insertions(+), 127 deletions(-) diff --git a/public/themes/dist_static/static/css/about.css b/public/themes/dist_static/static/css/about.css index 90cce03..16f7541 100644 --- a/public/themes/dist_static/static/css/about.css +++ b/public/themes/dist_static/static/css/about.css @@ -600,7 +600,7 @@ padding: 0; list-style: none; } -.ab-honors__list:not(.is-expanded) .ab-honors__item:nth-child(n+6) { +.ab-honors__list:not(.is-expanded) .ab-honors__item:nth-child(n + 6) { display: none; } /* 展开后约显示 8 条,超出滚动(单条 ≈ 上下 padding 2.5rem + 行高 + 底边) */ @@ -614,9 +614,7 @@ } .ab-honors__item { position: relative; - display: flex; - align-items: center; - justify-content: space-between; + padding: 2.5rem 0; border-bottom: 1px solid rgb(223, 224, 226); transition: border-color var(--duration-fast) var(--easing); @@ -636,6 +634,16 @@ line-height: var(--font-32); transition: color var(--duration-fast) var(--easing); } +.ab-honors__item .flex-between.hover { + display: flex; + align-items: center; + justify-content: space-between; + cursor: pointer; +} +.ab-honors__item .flex-between.hover:hover .ab-honors__pop { + opacity: 1; + visibility: visible; +} .ab-honors__view { position: relative; display: inline-flex; @@ -656,6 +664,7 @@ height: 1.5rem; flex-shrink: 0; } + .ab-honors__view:hover { color: var(--color-primary); } @@ -669,7 +678,9 @@ opacity: 0; visibility: hidden; pointer-events: none; - transition: opacity 0.25s ease, visibility 0.25s ease; + transition: + opacity 0.25s ease, + visibility 0.25s ease; } /* 首条下移、末条上移,避免证书弹出层被上下裁切 */ .ab-honors__item:first-child .ab-honors__pop { @@ -777,11 +788,11 @@ @media (max-width: 1439px) { .ab-hero__title h1 { - font-size: 40Px; - line-height: 54Px; + font-size: 40px; + line-height: 54px; } .ab-hero__media { - height: 520Px; + height: 520px; } .ab-intro__body { margin-top: 0; @@ -792,14 +803,14 @@ .ab-members__inner, .ab-csr__inner { grid-template-columns: 1fr; - gap: 32Px; + gap: 32px; } .ab-intro, .ab-history, .ab-global, .ab-honors { - padding-top: 80Px; - padding-bottom: 80Px; + padding-top: 80px; + padding-bottom: 80px; } .ab-global__layout { grid-template-columns: 1fr; @@ -812,7 +823,7 @@ } .ab-global__visual { order: -1; - max-width: 560Px; + max-width: 560px; } } @media (max-width: 992px) { @@ -821,11 +832,11 @@ gap: 0; } .ab-history__slide { - width: 300Px; + width: 300px; } .ab-culture__item { flex-direction: column; - gap: 16Px; + gap: 16px; } .ab-honors__item { align-items: flex-start; @@ -834,14 +845,14 @@ @media (max-width: 576px) { .ab-hero__title { padding-top: calc(var(--header-h) + 5rem); - padding-bottom: 24Px; + padding-bottom: 24px; } .ab-hero__title h1 { - font-size: 28Px; - line-height: 40Px; + font-size: 28px; + line-height: 40px; } .ab-hero__media { - height: 280Px; + height: 280px; } .ab-intro__title, .ab-history__title, @@ -850,16 +861,16 @@ .ab-members__title, .ab-honors__title, .ab-csr__title { - font-size: 32Px; - line-height: 44Px; + font-size: 32px; + line-height: 44px; } .ab-members__card { - padding: 24Px; + padding: 24px; min-height: 0; } .ab-members__name { - font-size: 24Px; - line-height: 32Px; + font-size: 24px; + line-height: 32px; } .ab-history { min-height: 54rem; @@ -891,14 +902,47 @@ .ab-history__arrows-mobile { display: flex; justify-content: flex-start; - margin-top: 24Px; + margin-top: 24px; padding-left: var(--p-x); } .ab-history__arrows-mobile .s-arrows { display: flex; - gap: 16Px; + gap: 16px; } - .ab-intro__texts p{ + .ab-intro__texts p { line-height: 1.8; } -} \ No newline at end of file +} + +/* 轮播前进后退按钮 */ +.panels-swiper-navigation { + display: flex; + gap: 1rem; + margin-top: 2rem; +} + +.panels-swiper-navigation svg { + cursor: pointer; + transition: + opacity 0.3s ease, + transform 0.3s ease; +} + +.panels-swiper-navigation svg:hover { + opacity: 0.8; + transform: scale(1.1); +} + +.panels-swiper-navigation svg:active { + transform: scale(0.95); +} + +.panels-swiper-navigation svg.disabled { + opacity: 0.4; + cursor: not-allowed; +} + +.panels-swiper-navigation svg.disabled:hover { + opacity: 0.4; + transform: none; +} diff --git a/public/themes/dist_static/static/js/about.js b/public/themes/dist_static/static/js/about.js index ed07026..2b6aa6a 100644 --- a/public/themes/dist_static/static/js/about.js +++ b/public/themes/dist_static/static/js/about.js @@ -159,6 +159,42 @@ function initMembersCarousel() { card?.addEventListener("mouseenter", stopAutoplay); card?.addEventListener("mouseleave", startAutoplay); + // 前进后退按钮 + const navContainer = root.querySelector(".panels-swiper-navigation"); + if (navContainer) { + const prevBtn = navContainer.querySelector(".swiper-prev"); + const nextBtn = navContainer.querySelector(".swiper-next"); + + const updateNavButtons = () => { + const current = swiper.activeIndex; + // 后退按钮:在第一项时禁用 + if (prevBtn) { + prevBtn.classList.toggle("disabled", current === 0); + } + // 前进按钮:在最后一项时禁用 + if (nextBtn) { + nextBtn.classList.toggle("disabled", current === total - 1); + } + }; + + prevBtn?.addEventListener("click", () => { + if (swiper.activeIndex > 0) { + goTo(swiper.activeIndex - 1); + startAutoplay(); + } + }); + + nextBtn?.addEventListener("click", () => { + if (swiper.activeIndex < total - 1) { + goTo(swiper.activeIndex + 1); + startAutoplay(); + } + }); + + swiper.on("slideChange", updateNavButtons); + updateNavButtons(); + } + syncNav(swiper.activeIndex); startAutoplay(); } diff --git a/public/themes/website/1/zh/demo/about.html b/public/themes/website/1/zh/demo/about.html index 3fca20c..5043d2c 100755 --- a/public/themes/website/1/zh/demo/about.html +++ b/public/themes/website/1/zh/demo/about.html @@ -8,51 +8,52 @@ - - - - - + + + - - + + + - - -{include file="components/header"} + + + {include file="components/header"}
@@ -76,7 +77,7 @@ $ui_download_csr = uiId('download_csr'); $csr_report_href = getMuiLangUrl('/download.html'); if ($ui_download_csr > 0) { - $csr_report_href .= '?cid=' . $ui_download_csr; + $csr_report_href .= '?cid=' . $ui_download_csr; } {/php} {hcTaglib:category id="$ui_about_intro" item="vo" field="*"} @@ -90,16 +91,17 @@ $stats_raw = explode(',', $vo['desc']); $stats_list = []; foreach ($stats_raw as $item) { - $parts = explode(';', $item); - if (count($parts) === 3) { - $stats_list[] = ['num' => $parts[0], 'unit' => $parts[1], 'text' => $parts[2]]; - } + $parts = explode(';', $item); + if (count($parts) === 3) { + $stats_list[] = ['num' => $parts[0], 'unit' => $parts[1], 'text' => $parts[2]]; + } } {/php}
@@ -289,28 +355,40 @@
@@ -336,17 +414,19 @@ {include file="components/mask"} -{include file="components/footer"} - + {include file="components/footer"} + - - - - - - - - + + + + + + + +