From 18074daf50c9683fabb29789e9dd7c11716b2845 Mon Sep 17 00:00:00 2001 From: aaaamoooo Date: Wed, 21 Oct 2026 12:33:32 +0000 Subject: [PATCH] fix(web): keep Reality scanner results table inside its modal (item 16 follow-up) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 真机暴露:扫描器浮层沿用 .modal.wide(820px) 且结果表借用 table-wrap visible(overflow:visible),8 列 nowrap 自然宽超弹窗, 「使用」按钮被挤到弹窗边框外;后端失败原因最长约 128 字在 nowrap 下更会单行撑爆。 - public/app.js:浮层 section 改用扫描器专属 .scan-modal; 结果包装 table-wrap visible -> .scan-wrap;目标/证书单元格 加 scan-target/scan-cert 类与 title 全文。 - public/styles.css:新增 .scan- 专属规则——.modal.scan-modal 宽 1140px、.scan-wrap overflow-x:auto 兜底、目标/证书列 max-width:230px 截断省略、原因列 white-space:normal + max-width:280px 换行。不动 .table-wrap/.modal 既有语义, 节点编辑弹窗本体与其它弹窗布局不受影响。 验证:以真实 styles.css + 同构 DOM 灌真机候选池 14 行 + 长 原因(近 120 字上限)/超长证书名压力行,playwright-core 驱动 Chromium 在 1280/1600 两视口断言 table 与全部「使用」按钮 右缘均在弹窗右缘内、wrap scrollWidth==clientWidth(无需滚动); 旧类名对照页同法测得表宽 1958px 冲出弹窗(负对照成立)。 --- public/app.js | 10 +++++----- public/styles.css | 7 +++++++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/public/app.js b/public/app.js index 36cb83e..01c31a0 100644 --- a/public/app.js +++ b/public/app.js @@ -1060,7 +1060,7 @@ function openRealityScanner() { overlay.id = 'scan-overlay'; overlay.className = 'modal-overlay'; overlay.style.zIndex = '95'; - overlay.innerHTML = `