html - 使视频匹配其父容器的大小(使用 vh 和 vw 单位)

标签 html css video alignment

我在一个容器中有一个视频元素,我希望它能填满所述父容器(相当于 background-size: cover;用于背景图像)。视频的父容器使用vw和vh单位。

我真的很挣扎。我可以通过使用 width: 100% 使其适合宽度,但 height: auto 不会填充容器的高度并且使用与父元素相同的 vw 和 vh 测量值也不成功。

我将如何处理这个问题 - 我似乎在原地打转/拔头发。

这需要 JS 解决方案吗?

任何想法都会很棒。代码和 Codepen 链接如下。

代码笔:https://codepen.io/pauljohnknight/pen/EXwbzz

var video = document.getElementsByTagName('video');
video[0].play();
video[0].loop = true;
video[0].controls = false;
* {
  margin: 0;
  padding: 0;
}

.videoholder {
  background: #666;
  height: 150vh;
  width: 50vw;
}

video {
  width: 100%;
  height: auto;
}
<div class="wrapper">
  <div class="videoholder">
    <video src="https://www.marketing-people.com/wp-content/uploads/2017/02/bakerbox-mockup.mp4" class="myvideo"></video>
  </div>
</div>

最佳答案

您可以绝对定位视频标签以填充父容器,然后在视频标签上使用 object-fit: cover;

https://codepen.io/anon/pen/Xgexdj

更新:这不适用于任何版本的 IE。这是一个可以在 IE 8 - 11 中运行的 polyfill。https://github.com/jonathantneal/fitie

关于html - 使视频匹配其父容器的大小(使用 vh 和 vw 单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44758558/

相关文章:

javascript - 帮助我正在开发的 Javascript 程序

javascript - 过滤器的多个值

javascript - SlideOut 后下拉菜单 chop

javascript - 带有实时流媒体的 Video.js 仅在自动播放设置为 true 时显示。单击播放按钮后我可以让它工作吗?

javascript - 点击播放YOUTUBE视频并隐藏div

api - YouTube API和视频标签

javascript - Jquery mobile - 如何防止可折叠的 div 在点击后展开?

html - 如何删除电子邮件签名中的超链接下划线

javascript - 我该怎么做才能在没有适当类(class)的情况下设置表格样式?

html - CSS 类嵌套不起作用