Firefox中颜色渐变的透明度很奇怪

时间:2014-11-01 23:28:34

标签: firefox gradient transparent

我创建了我的新作品集,我在CSS中有渐变的问题。我使用CSS Gradient Generator将渐变透明转换为紫色转换为紫色。当然,在我的代码中,旧版浏览器也有多行,但W3C行看起来像这样:

background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(42,28,80,0.29) 29%,rgba(42,28,80,1) 100%); 

我在Firefox上遇到了非常奇怪的行为。 http://i.stack.imgur.com/8cN1M.jpg

为该代码带来bug:

background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(42,28,80,1) 29%,rgba(42,28,80,1) 100%); 

http://i.stack.imgur.com/Utrgr.jpg

看起来渐变不知道如何在rgba(255,255,255,0)到紫色之间进行转换,当它下面有图像时。我将背景中的图像更改为正常颜色,渐变效果很好。有可能解决吗?

2 个答案:

答案 0 :(得分:3)

我还设法在低于Firefox 36的版本上修复它。

Firefox有问题在白色透明和颜色之间产生漂亮的过渡,最简单的修复方法是将第一个alpha-0颜色更改为与alpha-1相同的颜色,所以这个:

background: linear-gradient(to right,  rgba(255,255,255,0) 0%, rgba(42,28,80,1) 100%);

应改为:

background: linear-gradient(to right,  rgba(42,28,80,0) 0%, rgba(42,28,80,1) 100%);

答案 1 :(得分:2)

这已在Firefox 36中由bug 591600

修复

从Firefox 36开始,渐变将使用预乘颜色,这将使透明工作转换为您希望的方式。