11

我正在使用 CSS3 和 RGBA 创建白色到透明的渐变:

div {
    background-image: -moz-linear-gradient(left, rgba(255, 255, 255, 1), rgba(0, 0, 0, 0));
    background-image: -ms-linear-gradient(left, rgba(255, 255, 255, 1), rgba(0, 0, 0, 0));
    background-image: -webkit-gradient(linear, 0 0, 100% 0, from(rgba(255, 255, 255, 1)), to(rgba(0, 0, 0, 0)));
    background-image: -webkit-linear-gradient(left, rgba(255, 255, 255, 1), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(left, rgba(255, 255, 255, 1), rgba(0, 0, 0, 0));
    background-image: linear-gradient(left, rgba(255, 255, 255, 1), rgba(0, 0, 0, 0));
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='rgba(255, 255, 255, 1)', endColorstr='rgba(0, 0, 0, 0)', GradientType=1);
    padding: 2rem 0;
}

在这里小提琴:http: //jsfiddle.net/alecrust/fYz45/

但是,您会注意到,渐变在中间是暗的。我得到这个:

得到

我期待这个:

期待

我该如何纠正?

4

4 回答 4

14

将最后一步更改为#FFFFFF00( rgba(255, 255, 255, 0)) 而不是#00000000

http://jsfiddle.net/fYz45/6/

于 2013-03-26T21:03:10.630 回答
3

最终颜色应该是白色透明的,而不是黑色透明的

代替

rgba(0, 0, 0, 0)

结束于

rgba (255, 255, 255, 0)
于 2013-03-26T21:04:59.410 回答
1

如果其他人在渐变或获得某个方面(角度、透明度等)时遇到问题,我建议尝试使用此工具了解更多信息:http: //www.colorzilla.com/gradient-editor/下面的代码是一个示例它可以做什么。透明度由顶部的方块控制,下部的颜色。它允许您不断地添加更多颜色。它还具有良好的向后可比性,并且有些具有预设。

`div {
background: -moz-linear-gradient(left,  rgba(255,255,255,1) 0%,rgba(255,255,58,0) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left,  rgba(255,255,255,1) 0%,rgba(255,255,58,0) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right,  rgba(255,255,255,1) 0%,rgba(255,255,58,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffff3a',GradientType=1 ); /* IE6-9 */
background-repeat: repeat-x;
padding: 2rem 0;
}`

于 2016-04-29T14:14:55.330 回答
0
div{
     background-color:#ffffff;
     filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr=#ffffff,       endColorstr=#ffff01);
     background-image:-moz-linear-gradient(left top, #ffffff 0%, #ffff01 100%);
     background-image:-webkit-linear-gradient(left top, #ffffff 0%, #ffff01 100%);
     background-image:-ms-linear-gradient(left top, #ffffff 0%, #ffff01 100%);
     background-image:linear-gradient(left top, #ffffff 0%, #ffff01 100%);
     background-image:-o-linear-gradient(left top, #ffffff 0%, #ffff01 100%);
     background-image:-webkit-gradient(linear, left top, right bottom, color-stop(0%,#ffffff),        color-stop(100%,#ffff01));
}
于 2013-03-26T21:11:52.540 回答