在嵌入视频上覆盖透明背景

11

我有一个嵌入在全宽div面板中的视频。我想在其上覆盖一个渐变,但无法实现。我尝试了调整z-index、将视频包装在另一个div中,以及像下面这样添加叠加类,但显然我错过了某些明显的东西。

无论我尝试什么,视频总是跳到其他面板的顶部(其他面板最终落后于它)。

非常感谢您的帮助!

                <div class="videoContainer hide-for-small-only">
                    <div class="overlay"></div>
                  <video autoplay loop muted>
                        <source src="<?=URL?>public/videos/vid.mp4" type="video/mp4">
                        <source src="<?=URL?>public/videos/vid.webm" type="video/webm">
                  </video>
                </div>

我的CSS是:

.videoContainer 
{

  position: absolute;
  width: 100%;
  height: 100%;
  //padding: 20px;
  border-radius: 5px;

  background-attachment: scroll;
  overflow: hidden;
}

.videoContainer video 
{
    min-width: 100%;
    min-height: 100%;
}
.videoContainer overlay {
    background: black;
    opacity: 0.5;
    position: absolute;
    z-index: 1;
    text-align: center;
    margin: 0%;
  }

尝试创建一个 Fiddle。 - Richa
以上的代码示例可以在以下链接中查看:http://codepen.io/simeonw/pen/waXYvr 。Jsfiddle 没有显示任何内容。 - Simeon
.videoContainer的遮罩应该是.videoContainer .overlay。 - KiiroSora09
2个回答

22

这里是一个fiddle示例。

我在演示中使用了绿色叠加效果。

CSS

.videoContainer {
    position: relative;
    width: 100%;
    height: 100%;
    //padding: 20px;
    border-radius: 5px;
    background-attachment: scroll;
    overflow: hidden;
}
.videoContainer video {
    min-width: 100%;
    min-height: 100%;
    position: relative;
    z-index: 1;
}
.videoContainer .overlay {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 2;
    background: green;
    opacity: 0.5;
}

2

我遇到了同样的问题,最终通过将视频设置为opacity:0.5放在有颜色的背景上,达到了类似的美观效果。

.vid-bg {
  opacity: 0.5; /* ! */
  position: fixed;
  right: 0;
  bottom: 0;
  min-width: 100%; 
  min-height: 100%
}
<body style="background-color: green">
    <video playsinline="playsinline" autoplay="autoplay" muted="muted" loop="loop" class="vid-bg">
    <source src="http://inserthtml.com/demos/javascript/background-videos/flowers.mp4" type="video/mp4">
  </video>
</body>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接