fix(chart): symbol bubble no longer flickers (global tooltip rule switched the stage's pointer events off); rounded chart tables (BUG-1120)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
3e29b697db
commit
90b1b6fba9
@@ -14948,3 +14948,18 @@
|
||||
- 防复发:同一字段新增编辑入口时,同一轮撤掉旧入口并在 DESIGN 标明唯一入口。
|
||||
- 相关记录:BUG-1081、TASK-consult-gender-optional-20260927
|
||||
- 修复版本:分支 `codex/gender-archive-only-20260930`
|
||||
|
||||
## BUG-1120 | 星盘符号说明气泡在鼠标悬停时频闪
|
||||
|
||||
- 状态:resolved(代码 + 回归测试 + 本机 Chromium 复现 / 复验;待部署)
|
||||
- 首次发现 / 最近更新:2026-09-30 / 2026-09-30
|
||||
- 影响面:`frontend/src/app/globals.css` 的全局 `:has(> [role="tooltip"])` 规则;`frontend/src/components/chart-page/chart-symbol-help.tsx`(印度盘与西洋盘共用)。
|
||||
- 现象:产品反馈「鼠标浮动到图标上方会频闪」。本机 Chromium 用真实 golden 盘复现:在任一符号上移动 1px,气泡被移除再插入,22 个标记全部如此。
|
||||
- 触发条件:桌面鼠标悬停星盘内任一可说明的标记(行星、上升、星座编号)。
|
||||
- 根因:侧栏悬停提示的全局规则 `:has(> [role="tooltip"]) { pointer-events: none }` 本为弹出层定位器写的;气泡(`role="tooltip"`)是 `.chart-page-symbol-help` 的直接子元素,于是整个星盘舞台在气泡出现时失去指针事件 → 标记收到 pointerout(relatedTarget 为外框)→ 气泡关闭 → 舞台恢复命中 → pointerover → 气泡再开,循环即频闪。BUG-1100 引入气泡时单测只在无样式的 DOM 里跑,看不到这条全局 CSS。
|
||||
- 修复:全局规则改为 `:has(> [role="tooltip"]):not(.chart-page-symbol-help)`;气泡保留 `role="tooltip"`。
|
||||
- 验证:`chart-symbol-help.test.tsx` 新增 CSS 合同(带 pointer-events:none 的 tooltip 规则必须排除星盘舞台);本机 Chromium 复验:同样的移动序列下气泡不再移除 / 插入,只在盘心相邻星座编号间切换文字;chart 相关 158 条测试通过。
|
||||
- 防复发:新增内联 `role="tooltip"` 时检查全局 `:has(> [role="tooltip"])` 规则的作用范围;悬停类交互需在真实浏览器(带全站 CSS)里至少走一次。
|
||||
- 相关记录:BUG-1100(气泡引入)
|
||||
- 修复版本:分支 `codex/notice-loading-polish-20260930`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user