From baed7a2721855b91586640096d8555b4723d221d Mon Sep 17 00:00:00 2001 From: Syngnat Date: Sat, 9 May 2026 16:08:49 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(sidebar):=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E6=A0=91=E8=8A=82=E7=82=B9=E5=B7=A6=E4=BE=A7=E5=9B=BE?= =?UTF-8?q?=E6=A0=87=E5=AF=B9=E9=BD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 调整树节点内容区布局,固定展开符和图标宽度 - 保持树节点标题、展开符和图标左侧对齐稳定 - 补充侧边栏树横向滚动 CSS 回归测试 --- frontend/src/App.css | 19 +++++++++++++++++++ frontend/src/sidebarTreeScrollCss.test.ts | 3 +++ 2 files changed, 22 insertions(+) diff --git a/frontend/src/App.css b/frontend/src/App.css index 7f20cfa..8bc0a44 100644 --- a/frontend/src/App.css +++ b/frontend/src/App.css @@ -63,6 +63,25 @@ body, #root { .sidebar-tree-scroll-shell .ant-tree .ant-tree-node-content-wrapper { width: auto !important; min-width: 0; + display: flex !important; + align-items: center; + gap: 8px; +} + +.sidebar-tree-scroll-shell .ant-tree .ant-tree-switcher { + flex: 0 0 24px; + width: 24px; + min-width: 24px; +} + +.sidebar-tree-scroll-shell .ant-tree .ant-tree-iconEle { + flex: 0 0 16px; + width: 16px; + min-width: 16px; + display: inline-flex; + align-items: center; + justify-content: center; + margin-inline-end: 0; } .sidebar-tree-scroll-shell .ant-tree .ant-tree-title { diff --git a/frontend/src/sidebarTreeScrollCss.test.ts b/frontend/src/sidebarTreeScrollCss.test.ts index 7f540be..96c507c 100644 --- a/frontend/src/sidebarTreeScrollCss.test.ts +++ b/frontend/src/sidebarTreeScrollCss.test.ts @@ -18,6 +18,9 @@ describe('sidebar tree horizontal scroll css', () => { expect(appCss).toMatch(/\.sidebar-tree-scroll-shell\s+\.ant-tree\s+\.ant-tree-node-content-wrapper\s*\{[^}]*width:\s*auto\s*!important;[^}]*min-width:\s*0;/s); expect(appCss).not.toMatch(/\.sidebar-tree-scroll-shell\s+\.ant-tree\s+\.ant-tree-node-content-wrapper\s*\{[^}]*max-content/s); + expect(appCss).toMatch(/\.sidebar-tree-scroll-shell\s+\.ant-tree\s+\.ant-tree-switcher\s*\{[^}]*width:\s*24px;[^}]*min-width:\s*24px;/s); + expect(appCss).toMatch(/\.sidebar-tree-scroll-shell\s+\.ant-tree\s+\.ant-tree-iconEle\s*\{[^}]*width:\s*16px;[^}]*min-width:\s*16px;/s); + expect(appCss).toMatch(/\.sidebar-tree-scroll-shell\s+\.ant-tree\s+\.ant-tree-title\s*\{[^}]*min-width:\s*0;[^}]*overflow:\s*visible;/s); expect(appCss).not.toMatch(/\.sidebar-tree-scroll-shell\s+\.ant-tree\s+\.ant-tree-title\s*\{[^}]*max-content/s); });