From 46c3d51dcb4cc03530112dcee1b62bfba08766f1 Mon Sep 17 00:00:00 2001 From: sikongyue <3155157671@qq.com> Date: Thu, 20 Aug 2026 00:48:27 +0800 Subject: [PATCH] =?UTF-8?q?fix(web):=20=E5=B7=A5=E4=BD=9C=E5=8C=BA?= =?UTF-8?q?=E5=B8=83=E5=B1=80=20-=20=E8=B4=A6=E6=88=B7=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E6=B5=AE=E5=B1=82=E6=94=B9=E4=B8=8D=E9=80=8F=E6=98=8E=E5=B9=B6?= =?UTF-8?q?=E4=B8=8E=E5=BD=B1=E7=AD=96=E5=B1=95=E5=BC=80=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 根因:AntD 6 Popover 背景容器类已由 .ant-popover-inner 改为 .ant-popover-container,全局浮层覆盖规则未命中;且主题 token colorBgElevated 为 0.96 半透明,主区账户中心展开因此透出下层内容\n- 主题唯一源:elevatedBackground 深浅主题均改为不透明(alpha 1),所有 AntD 浮层(popover/dropdown/select/modal)不再半透明,与侧栏切换器浮层实底背景一致\n- 全局覆盖适配 AntD 6:.ant-popover-inner -> .ant-popover-container(背景/边框/圆角/去阴影),.ant-popover-inner-content 分隔线 -> .ant-popover-content --- web/src/lib/app-theme.ts | 3 ++- web/src/styles/globals.css | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/web/src/lib/app-theme.ts b/web/src/lib/app-theme.ts index 32ee386bb..2dbad37b8 100644 --- a/web/src/lib/app-theme.ts +++ b/web/src/lib/app-theme.ts @@ -57,7 +57,8 @@ const controlTheme = { export function getAntThemeConfig(dark: boolean): ThemeConfig { const color = dark ? controlTheme.dark : controlTheme.light; - const elevatedBackground = dark ? "rgba(31, 31, 32, 0.96)" : "rgba(255, 255, 255, 0.96)"; + // 浮层背景必须不透明(0.96 会透出下层内容);与侧栏切换器等自定义浮层的实底背景保持一致 + const elevatedBackground = dark ? "rgba(31, 31, 32, 1)" : "rgba(255, 255, 255, 1)"; const subtleBackground = dark ? "rgba(255, 255, 255, 0.055)" : "rgba(17, 17, 17, 0.035)"; const interactiveBorder = dark ? "rgba(255, 255, 255, 0.18)" : "rgba(17, 17, 17, 0.18)"; // 黑白主题使用边框表达焦点,避免输入控件周围出现蓝紫色光圈。 diff --git a/web/src/styles/globals.css b/web/src/styles/globals.css index ad85e9318..a2d26fc38 100644 --- a/web/src/styles/globals.css +++ b/web/src/styles/globals.css @@ -982,7 +982,7 @@ body.app-spatial-overlays :where( .ant-dropdown-menu, .ant-select-dropdown, - .ant-popover-inner, + .ant-popover-container, .ant-picker-dropdown .ant-picker-panel-container, .ant-cascader-menus, .ant-mentions-dropdown, @@ -1001,12 +1001,12 @@ background: var(--workspace-overlay-bg-strong) !important; } - body.app-spatial-overlays :where(.ant-dropdown-menu, .ant-select-dropdown, .ant-popover-inner, .ant-cascader-menus, .ant-mentions-dropdown) { + body.app-spatial-overlays :where(.ant-dropdown-menu, .ant-select-dropdown, .ant-popover-container, .ant-cascader-menus, .ant-mentions-dropdown) { border-radius: 8px !important; } /* 展开菜单(下拉/弹出)取消阴影:层级由边框 + 背景对比表达 */ - body.app-spatial-overlays :where(.ant-dropdown-menu, .ant-select-dropdown, .ant-popover-inner, .ant-cascader-menus, .ant-mentions-dropdown) { + body.app-spatial-overlays :where(.ant-dropdown-menu, .ant-select-dropdown, .ant-popover-container, .ant-cascader-menus, .ant-mentions-dropdown) { box-shadow: none !important; } @@ -1042,8 +1042,8 @@ body.app-spatial-overlays :where( .ant-dropdown-menu-item-divider, - .ant-popover-inner-content > .border-b, - .ant-popover-inner-content > .border-y, + .ant-popover-content > .border-b, + .ant-popover-content > .border-y, .ant-modal-header, .ant-modal-footer, .ant-drawer-header