HTML - 响应式地将视频置于背景

标签 html css responsive-design html5-video

我尝试在我的网站上实现视频背景。我希望它位于页面顶部(这意味着无论窗口的高度如何,当滚动条位于最顶部位置时,它应该是背景中的整个视频),我将放置视频前景中的一些内容也在视频下方。现在我使用以下 CSS:

#myVideo {
    position: absolute;
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
}

我的 HTML 结构如下:

<header>
  <video autoplay muted loop id="myVideo">
    <source src="video.mp4" type="video/mp4">
  </video>

  <div class="container">
    --- Content on the foreground
  </div>
</header>
<section>
  -- Content below the video
</section>

现在我在整页上得到了我想要的结果,但它没有响应。当我缩小屏幕尺寸时,视频会按我的意愿保持全屏显示,但视频下方的内容会向上移动并与视频重叠。我该如何解决这个问题?

最佳答案

从您提供的代码中,您的 #myVideo 元素已从文档的正常流中取出,因此其他元素将忽略它,这很好,但它是相对于视口(viewport)而不是相对于视口(viewport)定位的header 元素。创建一个以 header 元素为目标的规则,如下所示:

header {
    height: 100vh;
    position: relative;
}

position: relative 意味着视频相对于它定位,header 的高度将是视口(viewport)高度的 100%。下面的代码将 #myVideo 元素定位到 header 元素的左上角,并使其成为 header 元素的宽度/高度的 100% .

#myVideo {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

关于HTML - 响应式地将视频置于背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52667147/

相关文章:

javascript - 我的网站使用多个弹出窗口,其中一些包含视频。第一个视频将替换所有其他视频。我正在使用 html、css 和 javascript

javascript - 在同一页面中使用多个 ajax 表单

Javascript,计算月份之间两个日期之间的距离

css - 通过 CSS3 动画 toast 通知

php - 根据ID提取图片

css - 如何编写自动更改页面布局的 firefox 插件?

CSS 不应用媒体查询

javascript - 第一次点击后禁用点击事件

html - li 被隐藏的问题,按钮向下太远

css - Chrome + CSS3 : media query zoom bug