1

Colorzilla CSSグラデーションジェネレーターを使用して、複数のカラーストップを持つ背景を作成しました。FirefoxとSafariでうまく機能しますが、Chromeでは、イライラする微妙なストライピング/バンディングが発生しています。これが私のコードとjsfiddleリンクです:

body {
background: rgb(0,0,0); /* Old browsers */
background: -moz-linear-gradient(left,  rgba(0,0,0,1) 0%, rgba(85,187,0,1) 15%, rgba(85,187,0,1) 25%, rgba(221,34,85,1) 45%, rgba(221,34,85,1) 55%, rgba(0,136,238,1) 75%, rgba(0,136,238,1) 85%, rgba(0,0,0,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(0,0,0,1)), color-stop(15%,rgba(85,187,0,1)), color-stop(25%,rgba(85,187,0,1)), color-stop(45%,rgba(221,34,85,1)), color-stop(55%,rgba(221,34,85,1)), color-stop(75%,rgba(0,136,238,1)), color-stop(85%,rgba(0,136,238,1)), color-stop(100%,rgba(0,0,0,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(left,  rgba(0,0,0,1) 0%,rgba(85,187,0,1) 15%,rgba(85,187,0,1) 25%,rgba(221,34,85,1) 45%,rgba(221,34,85,1) 55%,rgba(0,136,238,1) 75%,rgba(0,136,238,1) 85%,rgba(0,0,0,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(left,  rgba(0,0,0,1) 0%,rgba(85,187,0,1) 15%,rgba(85,187,0,1) 25%,rgba(221,34,85,1) 45%,rgba(221,34,85,1) 55%,rgba(0,136,238,1) 75%,rgba(0,136,238,1) 85%,rgba(0,0,0,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(left,  rgba(0,0,0,1) 0%,rgba(85,187,0,1) 15%,rgba(85,187,0,1) 25%,rgba(221,34,85,1) 45%,rgba(221,34,85,1) 55%,rgba(0,136,238,1) 75%,rgba(0,136,238,1) 85%,rgba(0,0,0,1) 100%); /* IE10+ */
background: linear-gradient(to right,  rgba(0,0,0,1) 0%,rgba(85,187,0,1) 15%,rgba(85,187,0,1) 25%,rgba(221,34,85,1) 45%,rgba(221,34,85,1) 55%,rgba(0,136,238,1) 75%,rgba(0,136,238,1) 85%,rgba(0,0,0,1) 100%); /* W3C */
width:100%;
margin-bottom:1em;
}

http://jsfiddle.net/yL82a/(margin-bottom 宣言は無視してください)

Chromeでこれを修正して滑らかなグラデーションにする方法はありますか?rgbaとhexの両方の値を使用してこれを試しましたが、同じ結果が得られました。

4

3 に答える 3

1

ページ全体にグラデーションの背景を持たせたかったのですが、この問題は非常に面倒でした。最後にに適用することで縞模様を取り除くことができました-webkit-filter: blur(3px);<body>、コンテンツ全体がぼやけていたので<div>、ページの背景となるように別のものを作成し、それにフィルターを適用しました。

CSS:

html, body {
   width: 100%;
   margin: 0;
}

#page-background
{
    width: 100%;
    height: 100%;
    background: #383838; /* Old browsers */
    background: -webkit-linear-gradient(top, #383838 0%,#d6d6d6 100%); /* Chrome10+,Safari5.1+ */
    (...)
    -webkit-filter: blur(3px);
}

HTML:

<body>
    <div id="page-background"></div>
    And content goes here...

グラデーションはColorZillaサイトで生成されました。

于 2014-01-18T18:34:37.623 に答える
0

Chromeがディザリングを処理する方法と関係があります。問題はここで議論されました:

https://graphicdesign.stackexchange.com/questions/8426/gradient-banding-in-chrome

于 2013-02-14T18:56:00.687 に答える
-1

このサイトからcssグラデーションを生成してみて、違いが見つかるかどうかを確認してください。コードのデバッグに役立ちます。

http://ie.microsoft.com/testdrive/graphics/cssgradientbackgroundmaker/default.html

幸運を祈ります。

于 2013-02-14T17:49:38.653 に答える