使视频适合任何屏幕分辨率 100%

新手上路,请多包涵

我有一个具有以下属性的视频,帧宽度:1920 和帧高度:1080。我需要它的宽度和高度为 100%,从而填满整个屏幕。它也需要响应。到目前为止,我有这个代码:

 <video class="hidden-xs hidden-sm hidden-md hidden-custom videosize embed-responsive-item" autoplay="autoplay" loop="loop">
    <source src="~/Videos/myvideo.mp4" type="video/mp4" />
</video>

CSS:

    .videosize {
    position:absolute;
    z-index:-1;
    top:0;
    left:0;
    width:100%;
    height:100vh;
}

使用上面的代码,它非常适合 1680 x 1050 的屏幕分辨率,但是对于其他分辨率,它会占用 100% 的高度,然后宽度会调整,两边都留有空白。

任何想法 ?谢谢。

原文由 Qwerty 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 778
2 个回答

在这里找到了一个很好的解决方案:http: //codepen.io/shshaw/pen/OVGWLG

所以你的 CSS 将是:

 .video-container {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.video-container video {
  /* Make video to at least 100% wide and tall */
  min-width: 100%;
  min-height: 100%;

  /* Setting width & height to auto prevents the browser from stretching or squishing the video */
  width: auto;
  height: auto;

  /* Center the video */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

HTML:

 <div class="video-container">
  <video>
    <source src="~/Videos/myvideo.mp4" type="video/mp4" />
  </video>
</div>

原文由 raumus 发布,翻译遵循 CC BY-SA 3.0 许可协议

您现在可以使用 object-fit 属性。此属性专门用于管理 <img><video> 元素的响应大小。现在所有现代浏览器都支持它。

 .videosize {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

原文由 David 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题