javascript - 奇怪的 HTML5 视频问题

标签 javascript html css html5-video

请看看这个 fiddle http://jsfiddle.net/rwbcf/

如果我们有 16:9 显示屏:

enter image description here

当我们的显示器的宽高比不是 16:9 时,就会出现问题。

您可以看到视频底部有很大的空白区域,并且随着我们调整浏览器窗口的大小(宽度变小),空白区域会变得越来越大。

enter image description here

是否有任何解决方案(例如缩放或裁剪和缩放)来删除此空白空间?我想不通。提前致谢

HTML

<div id="video-viewport">

        <video id="bg" autoplay loop preload="none" tabindex="0">

           <source src="http://goo.gl/MkY4i" type="video/mp4" />

       </video>
</div>

CSS

html, body {
    min-width:100%;
    background:#000;
    overflow:hidden;
}

body{
   margin: 0;
   padding: 0 ;
}
#bg {
    width:100%;
    height:auto;
}

#video-viewport {
    overflow: hidden;
    width:100%;
    height:100%;    
    z-index: -1; /* for accessing the video by click */
}

最佳答案

视频元素的规范表明应该发生这种情况,它相当于以下 CSS:

video { object-fit: contain; }

如果您不介意忽略纵横比,则可以更改此设置:

video { object-fit: fill; }

或者,如果您想有效地放大(保留纵横比,但裁剪部分)

video { object-fit: cover; }

您可以check out browser support for the object-fit property .

关于javascript - 奇怪的 HTML5 视频问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17477185/

相关文章:

javascript - 为状态管理发布插件效果

javascript - Vue.js - 如何逐个对象获取 JSON 数据?

html - ionic 滑动以增加问题

html - 根据显示器分辨率调整字体大小

jquery - 使用没有插件的 css3 和 jquery 滑入和滑出

javascript - Javascript 中的闰年(NEWBIE)

javascript - 使用 $http 更新 ng-repeat 而不刷新浏览器

html - CSS:SVG 作为内容适用于 Chrome 但不适用于 Firefox

javascript - 生成 PDF 时,Puppeteer 不会加载本地存储的图像

javascript - "display:none"元素的宽度或高度为零是标准吗?