fix: FrontendPreviewPlayer 用 relative 容器包裹 Fragment,修复绝对定位失控 #1492
Reference in New Issue
Block a user
Delete Branch "fix/absolute-position-container"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
FrontendPreviewPlayer 的 return 最外层是 Fragment(
<>),没有position: relative锚点。内部所有元素(video、播放按钮、进度条、标题叠加)都是position: absolute,没有 relative 父容器锚定,导致它们相对视口定位,布局溢出。修复
将 Fragment 替换为
position: relative+width: 100%+height: 100%的 div,作为所有 absolute 子元素的定位容器。改动文件
apps/web/src/pages/generate/components/FrontendPreviewPlayer.tsx验收
【阻塞级判定】
📊 审查概览
🔴 阻塞级问题(必须修复)
无
💡 改进建议(不阻塞合并)
无
✅ 良好实践
<>) 替换为具有position: relative的<div>是正确的做法。对于包含 Canvas 或覆盖层的视频播放器组件,这确保了内部绝对定位的元素(如控制条、加载动画等)相对于播放器容器进行定位,避免了定位错乱或溢出到父容器之外的风险。🤖 由 AI 代码审查机器人自动生成 | 2026-08-25 03:31:30 | 模型:
🚀 预览环境已部署
CI全绿,自动审批通过。
CI全绿,自动审批通过。
🗑️ 预览环境已清理
PR #1492 已关闭或合并,对应的预览环境已被清理。