3

是否可以从图像中心到图像左侧对图像实现淡出透明效果

我尝试了以下方法,但没有得到任何结果

#content {
display: block;
width: 960px;
margin: auto;
margin-top: 48px;
background-image: url(../images/feature-image-wild-horse.jpg),    -moz-linear-gradient(left, #444444, #999999); /* FF3.6+ */
overflow: hidden;

}

4

1 回答 1

2

一种解决方案是使用模糊的插入框阴影https://developer.mozilla.org/en/docs/CSS/box-shadow):http://jsfiddle.net/n1ck/NkHdh/4/

#content {
    width:350px;
    height:350px;
    background-image: url(http://placekitten.com/350/350);
    -moz-box-shadow: inset 70px 0px 50px -10px white;
    -webkit-box-shadow: inset 70px 0px 50px -10px white;
     box-shadow:inset 70px 0px 50px -10px white;
}



如果要使用渐变,可以使用:before获取渐变来叠加背景图片,否则看不到渐变。

这是一个如何实现这一目标的示例:http:
//jsfiddle.net/n1ck/brqcu/2/

#content {
    width:350px;
    height:350px;
    background-image: url(http://placekitten.com/350/350);
}

#content:before {
    width:350px;
    height:350px;
    content:'';
    display:block;
    background: -moz-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 1)), color-stop(100%, rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    background: -o-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    background: -ms-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#00ffffff', GradientType=1);
}
于 2013-04-09T04:33:32.170 回答