diff --git a/public/themes/dist_static/static/css/common.css b/public/themes/dist_static/static/css/common.css index 5725231..8d090f7 100644 --- a/public/themes/dist_static/static/css/common.css +++ b/public/themes/dist_static/static/css/common.css @@ -1575,35 +1575,50 @@ body { display: flex; align-items: center; gap: 0.5rem; +}.nav-mega__subgroup-toggle { + display: flex; + align-items: center; + justify-content: center; + width: 1.5rem; + height: 1.5rem; + padding: 0; + border: none; + background: transparent; + color: var(--color-text-muted); + cursor: pointer; + flex-shrink: 0; + transition: color var(--duration-fast) var(--easing), transform var(--duration-normal) var(--easing); +}.nav-mega__subgroup-toggle svg { + width: 0.5rem; + height: 0.75rem; + display: block; +}.nav-mega__subgroup-toggle:hover { + color: var(--color-primary); +}.nav-mega__subgroup.is-expanded .nav-mega__subgroup-toggle { + transform: rotate(90deg); + color: var(--color-primary); }.nav-mega__subgroup .nav-mega__links { + display: none; +}.nav-mega__subgroup.is-expanded .nav-mega__links { display: flex; }.nav-mega__subgroup-title { display: inline-flex; align-items: center; gap: 0.5rem; + margin: 0; + padding: 0; + border: none; + background: transparent; color: var(--color-text); font-family: "MiSans VF", "PingFang SC", sans-serif; font-size: var(--font-16); font-weight: 500; line-height: var(--font-22); - text-decoration: none; + text-align: left; + cursor: pointer; transition: color var(--duration-fast) var(--easing); -}.nav-mega__subgroup-title::after { - content: ""; - display: block; - flex-shrink: 0; - width: 0.5rem; - height: 0.75rem; - background: currentColor; - opacity: 0; - transition: opacity var(--duration-normal) var(--easing); - mask: url("data:image/svg+xml,%3csvg%20viewBox='-1%20-1%208.59082%2013.0605'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%3e%3cpath%20d='M0%204.12464e-05L5%205.00004L10%200'%20stroke='currentColor'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%20transform='matrix(0,-1,1,0,0.530273,10.5303)'%20/%3e%3c/svg%3e") center/contain no-repeat; - -webkit-mask: url("data:image/svg+xml,%3csvg%20viewBox='-1%20-1%208.59082%2013.0605'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%3e%3cpath%20d='M0%204.12464e-05L5%205.00004L10%200'%20stroke='currentColor'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%20transform='matrix(0,-1,1,0,0.530273,10.5303)'%20/%3e%3c/svg%3e") center/contain no-repeat; }.nav-mega__subgroup-title:hover { - cursor: pointer; color: var(--color-primary); -}.nav-mega__subgroup-title:hover::after { - opacity: 1; }.nav-mega__links { display: flex; flex-direction: column; diff --git a/public/themes/dist_static/static/js/common.js b/public/themes/dist_static/static/js/common.js index 60445ee..59fd44b 100644 --- a/public/themes/dist_static/static/js/common.js +++ b/public/themes/dist_static/static/js/common.js @@ -103,6 +103,14 @@ $(function() { $(this).attr("aria-expanded", String(!isExpanded)); }); + // nav-mega 子组:标题 / 箭头均可展开收起 + $(document).on("click", ".nav-mega__subgroup-title, .nav-mega__subgroup-toggle", function() { + const $subgroup = $(this).closest(".nav-mega__subgroup"); + const isExpanded = !$subgroup.hasClass("is-expanded"); + $subgroup.toggleClass("is-expanded", isExpanded); + $subgroup.find(".nav-mega__subgroup-toggle").attr("aria-expanded", isExpanded); + }); + // 语言切换:默认语言无前缀,其它语言用 /{lang}/ 前缀(与 getLang 一致) (function initLangSwitch() { const ALLOWED = ["zh", "tc", "en", "ja", "de", "fa", "id", "th", "ru"]; diff --git a/public/themes/website/1/en/demo/components/header.html b/public/themes/website/1/en/demo/components/header.html index bedc3bf..7fbeec5 100644 --- a/public/themes/website/1/en/demo/components/header.html +++ b/public/themes/website/1/en/demo/components/header.html @@ -312,7 +312,12 @@ {hcTaglib:subcategory pid="$sub_cate_id22" item="vo33" sort=""}