获得全屏HTML5视频背景模糊工作?

时间:2015-08-29 17:27:37

标签: html css html5 html5-video css-filters

我似乎在尝试书中的所有技巧,但没有任何工作。

我有一个全屏,绝对定位的HTML5视频背景,我需要模糊。但是,我希望它有锋利的边缘。

到目前为止,我已尝试过大约20或30种各种解决方案,似乎没有任何效果。

这是我尝试过的:

- 设置负边距

- 设置负顶部,左侧,右侧,底部边距

- 在隐藏溢出的容器中设置正边距

- 在具有溢出隐藏的容器中设置

-Methods here:Defined Edges With CSS3 Filter Blur - Defined Edges With CSS3 Filter Blur - CSS blur and retain sharp edges using absolute div - Blur absolute background whilst retaining solid edges - http://volkerotto.net/2014/07/03/css-background-image-blur-without-blury-edges/

到目前为止,这是代码:

HTML

<video id="videobcg" preload="auto" autoplay="true" loop="loop"     muted="muted" volume="0">
<source src="vid/myVid.mp4" type="video/mp4">
<source src="vid/myVid.webm" type="video/webm">
    Sorry, your browser does not support HTML5 video.
</video>

CSS

#videobcg {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100% !important;
    max-height: 100% !important;
    z-index: -1000;
    overflow: hidden;
    object-fit: fill;
    -webkit-filter: blur(15px);
    -moz-filter: blur(15px);
    -o-filter: blur(15px);
    -ms-filter: blur(15px);
    filter: blur(15px);
}

也许我做错了什么,我不太确定。我正在做的是阻止它工作吗?

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

pen符合您的需求吗?

HTML

<div id="container">
    <video id="videobcg" preload="auto" autoplay="true" loop="loop" muted="muted" volume="0">
    <source src="http://clips.vorwaerts-gmbh.de/VfE_html5.mp4" type="video/mp4">
    Sorry, your browser does not support HTML5 video.
    </video>
</div>

CSS

#container {
  width: 640px;
  height: 360px;
  overflow: hidden;
  -webkit-filter: blur(15px);
  -moz-filter: blur(15px);
  -o-filter: blur(15px);
  -ms-filter: blur(15px);
  filter: blur(15px);
}

#videobcg {
  width: 100%;
  height: auto;
}

您可能希望将该视频设为比父视频更大并将其置于其中,我认为这样可以消除父视角内的白色模糊。

答案 1 :(得分:2)

  

您可能希望使该视频大于父视频并将其居中放置,我想这将消除父边界内的白色模糊。

@Ashugeo,我接受了您的代码,并按照您几年前的建议进行了工作,看来似乎可行。

  

不幸的是,这似乎不起作用。我还尝试过将视频放大并居中,但似乎仍然无法正常工作。

@Finn C,如今,似乎可以使用transform了: https://jsfiddle.net/Erik_J/6f483wm9/

HTML

<div id="container">
    <video id="videobcg" preload="auto" autoplay="true" loop="loop" muted="muted" volume="0">
    <source src="http://clips.vorwaerts-gmbh.de/VfE_html5.mp4" type="video/mp4">
    Sorry, your browser does not support HTML5 video.
    </video>
</div>

CSS

body{ margin:0;}

#container {
    width: 100vw;
    height: 100vh;
    text-align: center;
    overflow: hidden;
}
#videobcg {
    width: inherit;
    height: inherit;
    -o-filter: blur(15px);
    filter: blur(15px);
    object-fit: cover;
    transform: scale(1.04);
}