Files
msime-windows/ui-html/webview2
fanlusky fcf594e244 fix(ui-html): 修正词库浮层定位与翻页交互
#content-container 上有 contain: layout paint,它因此是 position: fixed 的
包含块。写在页面片段里的提示条和弹窗留在容器内部,fixed 就退化成相对该容器的
绝对定位,跟着内容一起滚:往下滚多少,浮层离窗口底边就多出多少;原先 showToast
每次还用 getBoundingClientRect() 的视口坐标去覆写 left,等于把容器偏移又加了
一遍,提示条因此偏向右侧,且只在弹出那一刻算一次,改窗口尺寸后就是旧值。

hoistOverlay() 在两个页面 setup 时把提示条和弹窗挂到 body 下,fixed 才真正
相对窗口解析,两处 JS 写 left 的代码删掉。提示条改由 CSS 定位:水平
calc(50% + var(--sidebar-width) / 2),即侧边栏右缘到窗口右缘的中点;垂直离
窗口底边两行正文高度。侧边栏宽度提成 --sidebar-width,sidebar.css 一并引用。
弹窗遮罩让开标题栏并左留侧边栏宽度的内边距,对话框居中于右侧内容区,弹窗期间
窗口按钮仍可点。浮层不再随模块容器隐藏,切页时由 dismissHoistedOverlays() 收起。

删除确认不再用 window.confirm:系统对话框不随设置页主题,在 WebView2 里是宿主
模态窗口,弹出期间页面自己的键盘和焦点处理全被挂起。confirmDialog() 复用
.dict-modal 样式自绘,支持 Enter 确认、Esc 取消、点遮罩取消和焦点还原。

顺带两处表格交互:翻页按钮改为靠右并排(状态文本移到左侧),与 .dict-table
单元格同样的 18px 内边距,不再贴着卡片边框;翻页时先把表格滚动条置顶,新一页
不再停在上一页的滚动位置。
2026-09-20 15:29:46 +08:00
..
2025-11-08 01:18:18 +08:00