video标签不能直接包含div,必须用div容器包裹;正确做法是用div包住video并用flex布局居中,或旧浏览器用text-align+inline-block方案。

video 标签不能直接套 div,必须用容器包裹
HTML 规范里 正确做法永远是:用 给外层容器设 居中效果常被宽高属性破坏,尤其当只设 立即学习“前端免费学习笔记(深入)”; IE10 及更早版本不支持 flex,可用传统方式:让外层 真正容易被忽略的是:video 加载失败时的 fallback 内容位置。如果在 是内联级替换元素,不接受块级子元素;如果写成 ,浏览器会自动“修复”结构——把 外面,导致样式错乱或脚本失效。
,再对这个外层 flex 布局居中 video 最稳(现代项目首选)
display: flex,配合 justify-content 和 align-items 即可同时水平+垂直居中,且不依赖 video 尺寸是否固定。
默认高度不够),height: 100vh 能确保铺满视口align-items: center 对 video 生效,是因为它被当作 flex 项目处理,不是靠 line-height 或 vertical-align 上加 margin: auto —— 它在非 flex/absolute 场景下无效video 居中时宽高设置的三个关键点
width 没设 height,或用了 max-width 却忽略 aspect-ratio。
width 和 height 同时指定会强制拉伸,破坏画面比例;建议只设一个(如 width: 100%),再用 height: auto
aspect-ratio: 16 / 9(现代浏览器支持),比 JS 计算或 padding-top hack 更可靠max-width: 100%,外层容器必须有明确宽度上下文,否则无效;常见坑是父 width 或 inline 行为未重置
老浏览器兼容方案:text-align + inline-block
text-align: center,再把 设为 display: inline-block。
display: inline-block,否则 默认是 inline,但某些旧版 IE 对其 text-align 响应不一致line-height 等于容器高度),但仅限单行内容;复杂布局仍推荐降级到绝对定位
的默认 vertical-align 是 baseline,可能和文字基线对齐出空隙,建议显式设 vertical-align: middle
内写文本或










