Skip to content

[Bug] 0.9.7:#92 修复后「文字下移」消失,但 hover 表格时表格自身下移半行(#55 第三轮复测) #101

Description

@Ztyss

关联

环境

  • 插件:@changfenhuang/dsh-genui 0.9.7(npm 安装)
  • 宿主:DSH Desktop 2.0.4,Windows 11(10.0.26200),Chromium
  • 渲染目标:助手回复内联 dsh-ui 围栏

症状(0.9.7 复测结论)

#55 的最小复现复测,结果:

  • ✅ 之前「hover 表格后的一行文字 → 文字下移半行」已不再出现(fix: stop Windows table-hover text shift #92 删除表格行背景 transition 的修复生效)
  • ❌ 出现新形态:鼠标 hover 到表格上时,表格整块下移约半行,紧随其后的文字行保持不动;移开鼠标立即恢复
  • 未观察到明显闪屏(或为间歇性)

最小复现

{items:[{type:table,columns:[A,B],rows:[[1,2]]},{type:text,content:这一段文字保持不动}]}

鼠标反复移入/移出表格区域即可观察。

期望

hover 只应产生不影响布局的视觉反馈(如背景色),表格自身位置与后续内容均不应发生任何移动。

供排查的代码事实(main 分支只读检查)

  1. 表格 hover 唯一样式变化:tbody tr:hover { background: var(--dsl-g-hover) },已无 transition(fix: stop Windows table-hover text shift #92);.reveal 已为 backwardsfix: prevent text shift after table hover #56)——两条旧修复路径均确认在位;
  2. 布局链:.col { display:flex; flex-direction:column; gap: var(--dsl-g-gap-md) } → 每个 root item 是 .reveal div(flex 直接子项)→ 表格位于 .tableWrap { overflow-x:auto; max-width:100%; min-width:0; overscroll-behavior-x:contain } 内,wrap 带自定义 8px thin 横向滚动条;
  3. flex column 中「表格下移而下一子项不动」意味着位移发生在表格块自身的顶部(margin / translateY / 合成层偏移),而非文档回流——建议用 Performance 面板记录 Layout Shift,或对比 hover 前后表格块的 computed style 与合成层,并留意 wrap 内横向滚动条是否在 hover 时出现/消失。

如需录屏或 DOM 快照可随时补充。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions