fix: 修复首页三栏布局拖拽溢出 — 分隔条最大宽度约束 + 视口缩小自动收窄

问题:切换视口大小或拖拽分隔条时,右侧预览面板甚至中右两栏被挤出视口。

  根因:flex 布局左/右列 flexShrink:0,拖拽无上限约束,视口缩小时不自动收窄,
  总宽度超出容器后 overflow:hidden 裁剪。

  修复(HomeContent.tsx):
  - 拖拽时计算 maxLeft / maxRight 动态上限,确保中列≥300px、三栏均在视口内
  - ResizeObserver 监听容器缩小,优先收右侧面板→不够再收左侧,拖拽中自动跳过
  - leftWidthRef / rightWidthRef / draggingRef 避免闭包读到过期值

  变更:CHANGELOG.md / TODO.md / WORKLOG.md 同步更新

  影响文件:3 个(+60 -3)
  - src/pages/home/HomeContent.tsx
  - CHANGELOG.md
  - TODO.md
This commit is contained in:
2026-06-07 05:56:00 +08:00
parent a01b3f259c
commit 952a723448
3 changed files with 60 additions and 3 deletions

View File

@@ -10,6 +10,7 @@
- 首页三栏分隔条视觉对齐:移除右侧多余 margin左右完全对称
- 轮播图新增关闭按钮session 级别隐藏,每次启动重新展示
- 确立 QT 多窗口模型 → Web 架构映射原则:叠加层走 Modal/Drawer + 事件总线,不走路由
- 修复首页三栏布局溢出:拖拽分隔条增加最大宽度约束 + 视口缩小时自动收窄面板,防止右侧面板被挤出视口
---