html5视频怎么铺满_html5用video标签设width:100% height:100%铺满容器【铺满】

HTML5视频铺满父容器需父容器有明确尺寸并用object-fit控制缩放;推荐设父容器为width:100vw;height:100vh;视频设width:100%;height:100%;object-fit:cover;并隐藏原生控件。

HTML5 的 标签本身不会自动铺满父容器,直接设 width: 100%; height: 100%; 往往无效或变形,关键在于**父容器要有明确尺寸**,且需处理视频的宽高比问题。

确保父容器有可计算的高度

如果父容器(比如 )没有显式高度,height: 100% 就会失效(百分比高度依赖父级有固定高度)。常见解决方式:

  • 给父容器设置具体高度,如 height: 400px;height: 100vh;(视口全高)
  • 若想响应式铺满整个视口,推荐:
    .video-wrap { width: 100vw; height: 100vh; position: relative; }
  • 避免父容器是 display: inline 或浮动/绝对定位未设尺寸的元素

用 object-fit 控制视频拉伸方式

即使宽高设为 100%,视频默认会保持原始宽高比,可能留黑边。用 object-fit 精确控制铺满效果:

  • object-fit: cover; —— 等比缩放并裁剪,完全覆盖容器(最常用,类似背景图 background-size: cover
  • object-fit: fill; —— 拉伸填满,可能变形
  • object-fit: contain; —— 等比缩放并完整显示,可能有上下/左右黑边

记得加浏览器兼容前缀(如需支持旧版 Safari):
video { width: 100%; height: 100%; object-fit: cover; -o-object-fit: cover;}

隐藏原生控件干扰(可选)

如果用了 controls 属性,控件会占用空间、影响铺满效果。建议:

立即学习“前端免费学习笔记(深入)”;

  • 移除 controls,自定义按钮(更可控)
  • 或用 CSS 隐藏控件条:
    video::-webkit-media-controls { display: none; }(仅 WebKit,不推荐强依赖)
  • 更稳妥:用 controlslist="nodownload noremoteplayback" 减少干扰,保留必要功能

完整示例(响应式全屏铺满)

以下代码让视频真正铺满整个视口,无黑边、不变形: