2014-11-01 81 views
2

我创建了我的新投资组合,并且我在CSS中有渐变的奇怪问题。我使用CSS梯度发生器梯度透明紫罗兰紫罗兰。当然还有多条线路对旧版浏览器太在我的代码,但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

带出错误,该代码:

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

这是由bug 591600

从Firefox 36固定在Firefox 36开始梯度将使用预乘颜色的,这将使转型为/从透明的工作,你期望它的方式。

3

我设法修复也是它的版本低于火狐36

的Firefox有问题,产生白色透明与颜色好看的转变,解决它的最简单的方法是改变第一α0颜色为相同的颜色,如α-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%);