冰霜模糊 header

Frost blur header

这里是《守望先锋》subreddit link https://www.reddit.com/r/Overwatch/.

有一个 header 具有 stained/frost 玻璃效果,如上图所示。我试图了解它是如何完成的。我知道它使用了两张图片:一张清晰的和一张模糊的。似乎整个事情只与 CSS 一起工作,我想重现这种效果。关于如何操作的任何提示?

您只需使用 CSS 模糊滤镜在图像顶部创建第二个矩形元素:

filter: blur(20px);

CSS

body, html {
    margin: 0;
    padding: 0;
}

#header {
    width: 100%;
    height: 200px;
    background-image: url(http://www.joomlaworks.net/images/demos/galleries/abstract/7.jpg);
    background-position: left bottom;
}

#gloss {
    position: absolute;
    top: 100px;
    height: 100px;
    width: 100%;
}

#gloss::before {
    display: block;
    width: 100%;
    height: 100px;
    background-image: url(http://www.joomlaworks.net/images/demos/galleries/abstract/7.jpg);
    background-position: left bottom;
    -webkit-filter: blur(20px);
    content: ' ';
}

HTML

<div id="header">
    <div id="gloss"></div>
</div>

这会在下半部分产生这种光泽效果:

查看工作示例 on JSFiddle.net

您可以查看 CSSTricks.com 以获得对此的很好解释。

其实很简单,就是两个div互相叠加。重要的部分是 background-positiontop / bottom 位置。

.imgWrapper{
 position: relative;
 width:500px;
 height:91px;
}
.overlayImages{
 position: absolute;
 left: 0;
 width:100%;
 height:100%;
 background-repeat: no-repeat;
 background-size: 100%;
}
.topImg{
 top: 0;
 background-image: url("//b.thumbs.redditmedia.com/0HMyksNbyvcoEx2-35Gf151KTV_QzKa6ihNNYedlqLo.jpg");
 background-position: left top;
}

.bottomImg{
 height: 50%;
 bottom: 0;
 background-image: url("//b.thumbs.redditmedia.com/kDrC4XsFDhy6yP82_DAoDVNa0DXWgwlFGVeuED8TrNo.jpg");
 background-position: left bottom;
}
<div class="imgWrapper">
 <div  class="overlayImages topImg"></div>
 <div  class="overlayImages bottomImg"></div>
</div>

容器