GitHub用户反馈
Web 客户端主题皮肤不能破坏核心设置面板:Safari 下 fixed 弹层被 CSS 层叠上下文遮挡
DSH(DeepSeek Harness)Web 用户装完 maid-atelier 皮肤后,在 Safari 里点设置只出蒙层不出面板,停用皮肤才恢复。问题不是样式丑,而是皮肤把侧栏节点变成层叠上下文,把 position:fixed 设置面板困住了。现有 z-index 提升修复只对 Blink 生效,WebKit 下仍复现,说明主题定制需要更稳的弹层挂载策略。
查看原始信号github:Small-tailqwq/dsh-deep-whale
目标用户
安装了 maid-atelier 等二次元主题皮肤、日常依赖侧栏设置入口的 DSH Web 用户。
潜在需求
希望主题皮肤在提供自定义视觉的同时不破坏宿主 Web GUI 的核心交互,尤其是设置弹层在 Safari/WebKit 下也能正常打开,而不是被皮肤造成的 CSS 层叠上下文隐藏。
发生场景
在 macOS Safari 26.6 上启用 maid-atelier 皮肤后,点击侧栏「设置」按钮,屏幕变暗但设置面板不出现,观感像界面卡住;停用皮肤后正常,Chrome/Edge 正常。此问题在 DSH 0.1.0-rc.6 和当前 main 分支上仍可复现。
来源证据
启用 maid-atelier 皮肤后,在 Safari/WebKit 里点击侧栏设置,屏幕变暗但设置面板不出现;停用皮肤正常,Chrome/Edge 正常。根因是皮肤分层规则把侧栏节点变成层叠上下文,令 position:fixed 面板无法逃出。
Safari/WebKit 下设置面板无法打开:侧边栏分层规则造成的层叠上下文困住了 position:fixed 面板 ## 现象 装上 maid-atelier 皮肤后,在 **Safari 里点击侧栏「设置」,面板不会出现**。屏幕会变暗(蒙层正常出现),但面板本身看不见,观感像是界面卡住了。停用皮肤后一切正常,Chrome / Edge 等 Blink 内核浏览器也一直正常。 复现环境:macOS 26.6 + Safari 26.6,DSH `0.1.0-rc.6`,`dsh --profile web`。在当前 `main`(873f5c6)上仍可复现。 ## 根因 `SettingsPanel` 不是挂在 document 根上的 portal,它挂在**侧边栏内容根节点内部**,靠 `position: fixed` 浮出到视口。 而皮肤的侧边栏分层规则给这个节点加了 `position: relative` + `z-index: 2`: ```css body[data-dsh-maid-atelier] :is([data-pane='sidebar'],https://github.com/Small-tailqwq/dsh-deep-whale/issues/40
为什么值得留意
这是真实用户在真实浏览器上撞到的具体兼容性 bug:主题皮肤与宿主 DOM 结构耦合过深,会直接伤到核心设置功能。对独立开发者而言,若能提供更稳固的浮层挂载或层级策略,就能解决一类皮肤定制需求,而不是只修一次 CSS。
已有方案
- 皮肤 CSS 中已有的设置打开态提升 z-index 到 1000 的规则(在 Blink 上有效,WebKit 上无效)
- 停用皮肤(用户报告可恢复正常)
未满足部分
- Safari/WebKit 下设置面板仍被层叠上下文困住,现有提升 z-index 的修复对 WebKit 无效
- 设置弹窗被对话页 header/顶部装饰条遮挡的问题在 DOM 结构变化后再次出现(issue #37 复现此前修复失效)
可能延伸 · 模型推测
- 将设置面板改为挂载在 document 根部的 portal,或为皮肤提供不产生层叠上下文的挂载点(模型推测)
- 为皮肤包增加 WebKit/Blink 跨浏览器 UI 回归测试,用真实弹层打开流程做快照验证(模型推测)
- 把这类层级兼容性修复整理成皮肤脚手架模板的一部分,供其他 DSH 皮肤直接复用(模型推测)
目前未知
- 仅能确认个别用户在 Safari 26.6 上遇到此问题,无法判断受影响用户范围
- 未确认该修复是否已合并或发布,也不清楚 DSH 后续版本是否改变侧栏 DOM 结构
- 未了解该皮肤用户是否因设置面板问题而放弃使用或停留在此前版本
继续核实
- Safari/WebKit 下的 CSS 层叠上下文问题在 DSH 其他皮肤或类似 AI Web 客户端主题中是否普遍出现?
- 除了设置面板,皮肤自定义 CSS 是否还会影响其他 fixed/absolute 弹层(如菜单、对话框、tooltip)?
- DSH 官方或皮肤脚手架是否规划了浮层 portal/API 规范,以避免皮肤与 DOM 结构耦合?
主题词
web ui themingstacking contextcss z-indexsafari compatibilitysettings dialogai chat interface