我想在我的网站上创建一个全屏视频背景,最好只使用HTML和CSS。我还需要将视频背景固定在页面顶部,以便用户首先完全覆盖视频,然后可以向下滚动并经过视频。
我需要视频具有响应能力并保留纵横比。但是,为了避免黑色条纹,我希望视频填充较小的维度(宽度或高度)的100%,然后在其他维度上溢出视频。
这是我的解决方案...
它适用于宽度,但如果视频的高度太大,即宽度不会溢出,则会出现黑色条。如何定义以确保宽度和高度至少填满100%?我认为
有人有什么想法吗?自从我发布了JSFiddle之后,一切都变得很安静...
我需要视频具有响应能力并保留纵横比。但是,为了避免黑色条纹,我希望视频填充较小的维度(宽度或高度)的100%,然后在其他维度上溢出视频。
这是我的解决方案...
<div class="container-fluid adjustedHeight">
<div class="video-container">
<div class="row">
<div class="col-md-12"></div>
</div>
<div class="row Page1">
<div class="col-md-6 button1">
<button type="button" class="btn btn-primary btn-lg outline">Pre-Order</button>
</div>
<div class="col-md-6 button2">
<button type="button" class="btn btn-primary btn-lg outline">About Us</button>
</div>
</div>
<video autoplay loop class="fillWidth">
<source src="Images/Comp 2.mp4" type="video/mp4" />
Your browser does not support the video tag. I suggest you upgrade your browser.</video>
<div class="poster hidden"> <img src="http://www.videojs.com/img/poster.jpg" alt=""> </div>
</div>
</div>
CSS:
.video-container {
position: relative;
bottom: 0%;
left: -15px;
height: 100% !important;
width: 100vw;
overflow: hidden;
background: #000;
display: block !important;
}
.video-container video {
position: absolute;
z-index: 0;
bottom: 0;
}
.video-container video.fillWidth {
min-width: 100%;
min-height: 100%;
}
它适用于宽度,但如果视频的高度太大,即宽度不会溢出,则会出现黑色条。如何定义以确保宽度和高度至少填满100%?我认为
min-height
和min-width
属性会做到这一点,但这会使高度和宽度超过100%缩放,当我调整大小时,视频不会缩放,它只是切掉更多视频的宽度(并且不保持视频居中)。而如果我只是使用.video-container video.fillWidth
CSS属性中的宽度和高度定义,我确实可以得到视频居中,但是我会得到黑色条。
这里是一个JSFiddle,它显示了当宽高比与视口比率不同时,黑色条出现在上方和下方(也在左侧和右侧,尽管这很难看到)。
注意:我正在使用bootstrap 3,我的adjustedheight
属性允许为导航栏留出空间。
编辑:
为了回答关闭请求,链接的问题已经回答,需要使用JS,但我不想使用。
感谢您的帮助,我真的很希望能解决这个问题,因为它似乎与我的代码应该执行的操作不符 - 不确定我错在哪里...有人有什么想法吗?自从我发布了JSFiddle之后,一切都变得很安静...
background-size: clip
。 - zer00ne