私はCSSグラディエントを実際のイメージよりもむしろ使い始めました。最初に、CSSグラジエントはイメージよりも確実に高速に読み込まれ、第2に、非常に多くのラスターグラフィックのようにバンディングが表示されません。私は最近、さまざまな画面で自分のサイトをテストし始めました。大きなもの(24インチ以上)では、私のサイトのバックグラウンドを構成するCSSリニアグラデーションが非常に目立ちやすいバンディングを示しています。暫定的な修正として、グラデーションに小さなノイズが反復的に重なって表示されました。このバンディングの問題を解決する他の方法はありますか?CSSグラデーションバンディングを防止するにはどうすればよいですか?
答えて
私はあなたがこれの音が好きではないことを知っていますが、実際ちょうどこの場合、一貫したクロスブラウザの美学を得る方法は、繰り返しイメージを使用することです。
単純な線形グラデーションの場合は、幅が1ピクセル、グラデーションの高さになるようにするだけで、ページの背景色をグラデーションの最終色にしてスムーズに実行できます。これにより、ファイルサイズが小さく保たれます。
イメージのグラデーションバンドを縮小したい場合は、この目的のためにJPGよりも適していると思うので、PNG(透明ではない)を使用してください。
Adobe Fireworksでは、これをPNG-24としてエクスポートします。
幸運。
http://codepen.io/anon/pen/JdEjWm
#gradient {
position: absolute;
width: 100%;
height: 100%;
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(black), to(white));
background: -webkit-linear-gradient(top, black, white);
background: -moz-linear-gradient(top, black, white);
background: -ms-linear-gradient(top, black, white);
background: -o-linear-gradient(top, black, white);
background: linear-gradient(top, black, white);
}
バンディングを削除する方法はありません。 CSSのグラデーションは、ブラウザのさまざまなレンダリングエンジンの恩恵を受けています。一部のブラウザは他のブラウザよりも優れたレンダリングをしています。あなたができる最善の方法は、カバーする短い領域と、グラデーションのステップを増やすために大きな色の範囲です....そして、ブラウザのレンダリングが改善するのを待ちます。
あなたの勾配があなたの第二の色のためのbackground-color
の下で、透明に最初の色から行くことによって、わずかに良い結果をもたらすことができます。また、画面全体に広がる大きな勾配の場合はbackground-size
で再生することをお勧めします。そのため、勾配は実際には画面全体を満たしません。
バックグラウンドカラーよりもグラデーションのオーバーレイが実際にうまく機能していることを確認できます。また、オプションの1つが常に見栄えが良いように見えるので、背景色とグラデーション色を入れ替えてみてください(Webkit/Blink) –
「scatter.png」を作成して自分のグラデーションに貼り付けました。このように:
- オープンGIMP
- 100x100の画像
- フィルタアルファチャンネルを追加 - >ノイズ - >投げる... 5%
保存にデフォルト
- セットopactityを受け入れますグラデーションに追加します。
background: url('/img/scatter.png'), linear-gradient(50deg,#d00 0,#300 100%);
それは微妙な効果に微妙な影響です。
純粋なCSS回答の場合、ぼかしフィルタを使用してCSS勾配にぼかしを追加し、縞模様を軽減することができます。コンテンツをぼかさないように階層を再構築することを意味し、鮮明なエッジを得るためにオーバーフローを隠す必要があります。バンディングの問題が特に深刻なアニメーション化された背景で本当にうまくいきます。
.blur{
overflow:hidden;
filter: blur(8px);
}
私は、この問題が解決され、長い知っているが、他の人がバンディングを経験し、解決策を探しのために、私にとって非常に簡単な修正はちょうど私が私のグラデーションに含まれた色を簡素化しました。たとえば:
この勾配は、バンディングを生成します。
background-image: linear-gradient(-155deg, #202020 0%, #1D1D1D 20%,
#1A1A1A 40%, #171717 60%, #141414 80%, #101010 100%);
この勾配はない、とほとんど同じになります:
background-image: linear-gradient(-155deg, #202020 0%, #101010 100%);
- 1. モバイルアプリでフィッシングを防止するにはどうすればよいですか?
- 2. dispatchEventでDefault()を防止するにはどうすればよいですか?
- 3. CompileAssemblyFromSourceのメモリリークを防止するにはどうすればよいですか?
- 4. ブルートフォース攻撃を防止するにはどうすればよいですか?
- 5. フライウェイトオブジェクトのコピーを防止するにはどうすればよいですか?
- 6. ページのスクロールを防止するにはどうすればよいですか?
- 7. Firefoxのオートコンプリートを防止するにはどうすればよいですか?
- 8. ダブルクリック防止をテストするにはどうすればよいですか?
- 9. ウェブページのスクロールを防止するにはどうすればよいですか?
- 10. CSSを使用してクリックイベントを防止するにはどうすればよいですか?
- 11. 例外によりプログラムの停止を防止するにはどうすればよいですか?
- 12. Javascriptの機能を防止、停止、または終了するにはどうすればよいですか?
- 13. Oauth2で次のようなCSRF攻撃を防止するにはどうすればよいですか?
- 14. データがロードされる前にコンポーネントのレンダリングを防止するにはどうすればよいですか?
- 15. iOS 5で重複しているコアデータを防止するにはどうすればよいですか?
- 16. Accessデータベースに重複するエントリを防止するにはどうすればよいですか?
- 17. リフレッシュ中に重複するエントリを防止するにはどうすればよいですか?
- 18. ES2015に存在しない名前のインポートを防止するにはどうすればよいですか?
- 19. Rのフォント、プロットオブジェクトなどのサイズ変更を防止するにはどうすればよいですか?
- 20. Androidでカーソルを閉じるとメモリリークを防止するにはどうすればよいですか?
- 21. DropDownListで開くことからのドロップダウンを防止するにはどうすればよいですか?
- 22. エンティティの循環グラフを保存するInvalidOperationExceptionを防止するにはどうすればよいですか?
- 23. ページを更新するときのログアウトを防止するにはどうすればよいですか?
- 24. 長いテキストを含む表の垂直スクロールを防止するにはどうすればよいですか?
- 25. 視差要素の位置ずれを防止するにはどうすればよいですか?
- 26. アンドロイドのモバイルサイトからのディープリンクを防止するにはどうすればよいですか?
- 27. SolidColorBrushオブジェクトからメモリリークを防止するにはどうすればよいですか?
- 28. データの挿入を防止するにはどうすればよいですか?ユーザーからの
- 29. Swift 4重複または排他アクセスエラーを防止するにはどうすればよいですか?
- 30. C++でSIGFPEを防止/抑制するにはどうすればよいですか?
1)これは、ブラウザのレンダリングに応じています。 2)お使いのモニターによって異なります。 – Christoph
私は@Michael Giovanni Pumoの答えに基づいたソリューションを使用することに決めました:Photoshopで1pxの高い勾配を作り、ぼかし、穀粒、および他のディザ法を使ってバンディングを除去し、それをrepeat-xにします。 –