图片应该解释一切。左侧是Safari 6,右侧是Chrome。不仅透明红色渐变的下半部分完全错误(这可能是过热的预乘alpha的情况),上半部分也更暗,看起来像是伽马校正问题。
此问题出现在Mountain Lion和iOS6 Mobile Safari上的Safari 6上,但不会出现在Lion上的Safari 6上。
是否有人找到了获得预期结果的解决方案?我需要我的渐变来涉及alpha,因为我试图淡入淡出文本。
由于我无法完成编辑,直到我在这里输入真实代码才是渐变定义:background-image: -webkit-linear-gradient(top, red, rgba(255,128,128,0), white);
答案 0 :(得分:4)
我能够在Mac 10.8.1 Safari 6.0(8536.25)和iOS Safari 6.0.1上重现该问题。我认为应用-webkit-mask-image
而不是透明的颜色停止会避免这个问题:
.grad-bg {
background-image:
-webkit-linear-gradient(top, #ff0000, #fff);
height: 100%;
}
.masked {
-webkit-mask-image:
-webkit-linear-gradient(top, white, transparent, white);
}
在图像中,顶部显示在白色背景上,底部形状显示在相同颜色的不透明渐变背景上。
(许多编辑。)