在嵌入式视频上叠加透明背景
Overlaying a transparent background on an embedded video
我有一个嵌入全角 div 面板的视频。我试图在它上面叠加一个渐变,但我无法让它工作。我已经尝试调整 z-index,将视频包装在另一个 div 中,并且 - 如下 - 添加叠加层 class,但我一定遗漏了一些明显的东西。
无论我尝试什么,视频都会跳回到其他面板的顶部(最终落后于它)。
非常感谢您的帮助!
<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
我在演示中使用了绿色叠加层。
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;
}
我遇到了同样的问题,并最终设法获得了美学上相似的效果,只需在彩色背景上设置带有 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>
我有一个嵌入全角 div 面板的视频。我试图在它上面叠加一个渐变,但我无法让它工作。我已经尝试调整 z-index,将视频包装在另一个 div 中,并且 - 如下 - 添加叠加层 class,但我一定遗漏了一些明显的东西。
无论我尝试什么,视频都会跳回到其他面板的顶部(最终落后于它)。
非常感谢您的帮助!
<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
我在演示中使用了绿色叠加层。
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;
}
我遇到了同样的问题,并最终设法获得了美学上相似的效果,只需在彩色背景上设置带有 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>