From 98f132f38118abe58fda00fe698eea2c0db38f7b Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Tue, 4 Aug 2026 14:05:22 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat(title):=20=E6=A0=87=E9=A2=98=E9=A2=84?= =?UTF-8?q?=E8=A7=88=E6=94=B9=E4=B8=BA=E5=8F=A0=E5=8A=A0=E5=9C=A8=E8=A7=86?= =?UTF-8?q?=E9=A2=91=E7=94=BB=E9=9D=A2=E4=B8=8A=EF=BC=8C=E6=94=AF=E6=8C=81?= =?UTF-8?q?top/center/bottom=E5=AE=9A=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../generate/components/PreviewVideoPanel.tsx | 75 ++++++++++--------- 1 file changed, 38 insertions(+), 37 deletions(-) diff --git a/apps/web/src/pages/generate/components/PreviewVideoPanel.tsx b/apps/web/src/pages/generate/components/PreviewVideoPanel.tsx index 6cb865fc7..cf7003223 100644 --- a/apps/web/src/pages/generate/components/PreviewVideoPanel.tsx +++ b/apps/web/src/pages/generate/components/PreviewVideoPanel.tsx @@ -21,16 +21,16 @@ interface PreviewVideoPanelProps { titleSettings?: TitleSettings } -/** 根据 position 返回垂直对齐样式 */ -const positionAlignStyle = (position: string): React.CSSProperties => { +/** 根据 position 返回 absolute 定位样式(叠加在视频上) */ +const positionOverlayStyle = (position: string): React.CSSProperties => { switch (position) { case "top": - return { justifyContent: "flex-start", paddingTop: 16 } + return { top: 16, left: 0, right: 0 } case "center": - return { justifyContent: "center" } + return { top: "50%", left: 0, right: 0, transform: "translateY(-50%)" } case "bottom": default: - return { justifyContent: "flex-end", paddingBottom: 16 } + return { bottom: 56, left: 0, right: 0 } // 56px = 给视频控制条留空间 } } @@ -121,47 +121,47 @@ export const PreviewVideoPanel: React.FC = ({ )} - {/* 预览成功 */} + {/* 预览成功 + 标题叠加 */} {hasPreview && ( -
-