From 0bd2090d748a16d3031cb74fd6e71547857e6e9f Mon Sep 17 00:00:00 2001 From: rbetree Date: Sat, 28 Mar 2026 14:32:21 +0800 Subject: [PATCH] fix: hide submenu when sidebar is collapsed --- assets/styles/_sidebar.css | 5 +++++ ...bar-submenu-panel-and-theme-mode.node-test.js | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/assets/styles/_sidebar.css b/assets/styles/_sidebar.css index 4546d2c..48286d9 100644 --- a/assets/styles/_sidebar.css +++ b/assets/styles/_sidebar.css @@ -259,6 +259,11 @@ display: none; } +/* 收起侧边栏时,禁止当前激活页面的目录直接显示在按钮下方 */ +.sidebar.collapsed .nav-item-wrapper > .submenu { + display: none; +} + /* 子菜单标题:默认隐藏(在导航栏内折叠时) */ .submenu-header { display: none; diff --git a/test/sidebar-submenu-panel-and-theme-mode.node-test.js b/test/sidebar-submenu-panel-and-theme-mode.node-test.js index 36af2b3..da032b2 100644 --- a/test/sidebar-submenu-panel-and-theme-mode.node-test.js +++ b/test/sidebar-submenu-panel-and-theme-mode.node-test.js @@ -28,3 +28,19 @@ test('默认布局:应输出 data-theme-mode,支持 dark/light/system 默认 'templates/layouts/default.hbs 应输出 data-theme-mode 属性' ); }); + +test('侧边栏样式:收起时不应在页面按钮下方显示目录子菜单', () => { + const repoRoot = path.resolve(__dirname, '..'); + const sidebarStylePath = path.join(repoRoot, 'assets', 'styles', '_sidebar.css'); + const content = fs.readFileSync(sidebarStylePath, 'utf8'); + + assert.ok( + content.includes('.sidebar.collapsed .nav-item-wrapper > .submenu'), + 'assets/styles/_sidebar.css 应在收起态隐藏 nav-item-wrapper 下的 submenu' + ); + assert.match( + content, + /\.sidebar\.collapsed \.nav-item-wrapper > \.submenu\s*\{[^}]*display:\s*none;/m, + '收起态的 submenu 应明确设置为 display: none' + ); +});