7

当您将浏览器加宽时,您会注意到图像的右侧和左侧逐渐变黑。

我需要在我的画廊上应用相同的功能,但不知道。我也找到了 this >>链接,但它只是一条水平线,不知道如何将其附加到图像的两侧并获得与链接相同的结果。

在评论中,ultranaut 提到我可以在图像上应用过滤器,但问题是如果我将它应用到图像上如何调整大小,因为浏览器窗口的大小可能不同,并且图片侧应该可以针对每个浏览器进行调整尺寸。

4

2 回答 2

11

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

HTML:

<div class="frame">
  <div class="fade"></div>
  <img src="picture.jpg" alt=""/>
</div>

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%
    );
}

就个人而言,我不是(语义上)不必要的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>

少一点麻烦,少一点大惊小怪:带有供应商前缀和所有内容的新型小提琴。

于 2013-03-19T00:40:25.310 回答
2

仅使用 CSS3,尝试Vignette

逐字代码:

HTML:

<p class="vignette"><img src="image.jpg"></p>

CSS:

p.vignette {
  position: relative;
}
p.vignette img {
 display: block;
}
p.vignette:after {
 -moz-box-shadow: inset 0 0 10em #666;  
 -webkit-box-shadow: inset 0 0 10em #666;   
 box-shadow: inset 0 0 10em #666;
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 z-index: 2;
 content: "";
}
于 2013-03-19T00:05:56.227 回答