我想要一个具有'淡出效果'的背景图像。 CSS3

时间:2013-04-09 04:18:26

标签: html css html5 css3 gradient

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

我已尝试过以下内容,但我没有得到任何结果

#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;

}

1 个答案:

答案 0 :(得分: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);
}