如何淡出图像的边缘?

Dan*_*gan 6 css css3

当您使浏览器更宽时,您会注意到图像的右侧和左侧以黑色淡出.

我需要在我的画廊中应用相同的功能,但不知道.我也找到了这个>> 链接,但它只是一条水平线,不知道如何将它附加到图像的两侧,并产生与链接相同的结果.

在评论中,ultranaut提到我可以在图像上应用过滤器,但问题是如果我在图像上应用它如何调整大小,因为浏览器窗口可能有不同的大小,图片方面应该可以调整到每个浏览器尺寸.

ult*_*aut 11

这是给这只猫皮肤的一种方法:

HTML:

<div class="frame">
  <div class="fade"></div>
  <img src="picture.jpg" alt=""/>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.frame {
    width: 315px;
    height: 165px;
    margin: 20px;
    position: relative;
}

.fade {
    height: 100%;
    width: 100%;
    position:absolute;
    background: -webkit-linear-gradient(left, 
                rgba(0,0,0,0.65) 0%, 
                rgba(0,0,0,0) 20%,
                rgba(0,0,0,0) 80%,
                rgba(0,0,0,0.65) 100%
    );
}
Run Code Online (Sandbox Code Playgroud)

就个人而言,我不是(语义上)不必要的fadediv的忠实粉丝,我相信没有它可能有更聪明的方法来做同样的效果,但它会起作用.

我只包含了webkit前缀规则,如果你想获得合法性,你需要添加其他供应商前缀.

小提琴这里.

更新:如果图像仅用作背景 - 就像链接示例中的情况一样 - 渐变和图像都可以在包含元素的css上设置:

.frame {
  width: 315px;
  height: 165px;
  margin: 20px;

  background-image: url(picture.jpg);
  background-image: -webkit-linear-gradient(left, 
    rgba(0,0,0,0.9) 0%, 
    rgba(0,0,0,0) 20%,
    rgba(0,0,0,0) 80%,
    rgba(0,0,0,0.9) 100%
  ),
  url(picture.jpg);
}

...

<div class="frame">
  Content...
</div>
Run Code Online (Sandbox Code Playgroud)

更少的麻烦,更少的麻烦:新型小提琴与供应商前缀和一切.