2012-12-03 11 views
7

画像はすべて説明する必要があります。左側はSafari 6で、右側はChromeです。透明な赤いグラデーションの下半分が完全に間違っているだけでなく(おそらく過度に事前に生成されたアルファの場合もあります)、上半分もガンマ補正の問題のように暗くなります。Safari 6グラデーションカラーブレンド/補間のバグ

この問題は、Mountain LionとiOS6 Mobile SafariのSafari 6で発生しますが、Safari 6 on Lionでは発生しません。

http://jsfiddle.net/ZUTYm/4

誰もが期待する結果を得るための解決策を見つけていますか?私は、テキストをフェードアウトさせようとしているので、グラデーションにアルファを使う必要があります。

私はここに実際のコードに入れてまで、私は私の編集を終えることができないので、勾配の定義である:background-image: -webkit-linear-gradient(top, red, rgba(255,128,128,0), white);

enter image description here

+0

私は意志あなたの写真にクロムと同じ結果を得る山のライオンを実行しているMBP上のSafari 6.0.2であなたのコメント@DanielKurzため –

+0

感謝をjsfiddleをオープンしました明日のマシンでソフトウェアの正確なバージョンを確認してください。しかし、この問題はiOS 6.0でも発生しています。 –

+0

あなたは本当にそれがサファリのバグだと思いますか?下半分は背景色から白への勾配でなければならないから、右か? thatsサファリが示すもの –

答えて

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); 
} 

jsFiddle

、白い背景の上に上部に示すように、底面形状は、不透明な勾配の背景上に示し同じ色。

Top shows over a white background, bottom shape shows over an opaque gradient background of the same colors.

(多くの編集。)

+0

私は一貫性のために、あなたは中間値 'rgba(0,0,0,0)'を作る必要があると思います。 –

+0

私は従いません。 OPは 'rgba(255,128,128,0)'を持ち、同じ値がリンクされた[jsFiddle](http://jsfiddle.net/ZUTYm/4)にあります。中間の値がすべて0の場合、グラデーションにはより多くのグレーがあります。 – tiffon

+0

これは問題ですが、Safariは 'rgba(255,128,128,0)'を 'rgba(0,0,0,0)'として解釈し、Chromeに一貫性を持たせるためには両方とも同じ値を使用する必要があります。 –