html - 视频宽度缩放不正确

标签 html css video screen background-size

我有一个小问题。我有一个视频,我想根据浏览器进行调整,它不应该拉伸(stretch),但也不应该有任何可见的空间

HTML:

<video src="Wereldbol.mp4" onclick="this.play();" id='wereldbol' preload="auto" ></video>

CSS:

#wereldbol {
    position: absolute;
    bottom: 0px;
    right: 0px;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
    background-size:cover;
}

background-size: cover; 导致视频偏离中心的问题,有没有其他方法可以覆盖浏览器的整个宽度和高度?目前 width: 100%height: 100% 并不能完全解决这个问题,因为它会使图像左右两侧出现白条,即使视频正确缩放。有什么办法可以解决这个问题吗?

最佳答案

如果我对您的理解正确,您想要实现的是保持视频的宽高比,但要使其适应周围环境,而不会不按比例拉伸(stretch)视频。以下是我的做法:

将视频元素包裹在 div 中,如下所示:

<div class="video-wrapper">
    <video src="Wereldbol.mp4" onclick="this.play();" id='wereldbol' preload="auto" ></video>
</div>

然后使用以下 CSS:

.video-wrapper {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: 0;
  padding: 56.25% 0 0 0; /* 100%/16*9 = 56.25% = Aspect ratio 16:9 */
  overflow: hidden;
  border: 0;
}

.video-wrapper video {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

编辑:这是一个 plunker : 调整视口(viewport)宽度以查看其工作原理。

关于html - 视频宽度缩放不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26674868/

相关文章:

javascript - 为什么我的页面不反射(reflect)我在代码中所做的更改?

html - 将 Html 元素与 flex 属性对齐

opengl - 是否可以使用 GLSL 着色器实现视频编解码器?

java - 无需任何外部 API 即可处理视频

video - 无法在 Android Lollipop 中播放视频

javascript - 处理多个点击事件的最佳方式

html - 如何使用 100vh 创建响应式网页

javascript - 如何在 jquery 中以百分比设置宽度 100%

css - 仅当剩余宽度至少为 x 像素时才 float 元素

javascript - 在 setTimeout 间隔期间单击另一个按钮时出现错误