7

現在、Web サイトで作業していて、Safari に問題があります。画像をロードすると、スタンドインとして配置される黒い背景があります。これを透明または白にしたいのですが、理解できないようです。見てみな:

http://blazing-ocean-6482.herokuapp.com/

私は html を作成し、body には background-color:white; を使用しました。しかし、これは問題を変えていないようです。

4

6 に答える 6

2

interlacedオプションでPNG画像を保存するだけです

于 2012-09-19T12:30:55.463 に答える
2

Safari 6 でも同じ問題が発生しました。私の画像はグレースケールの色空間でした。私はそれをrgbに切り替えましたが、問題はなくなりました。画像の色空間設定を確認してみてください!

于 2013-01-28T08:47:17.497 に答える
1

これは、PNG にアルファ チャネルがないために発生します。Photoshop は、画像に透明なピクセルが含まれている場合にのみ、アルファ チャネルを使用して画像を保存します。Safari で適切に動作させるには、PNG 画像の IHDR チャンクに「truecolor-apha」が含まれている必要があります。tweakpng ( http://entropymine.com/jason/tweakpng/ ) または同様のプログラムで png チャンクを確認できます。

于 2013-06-27T01:33:51.463 に答える
0

私は最近Safari6.0.2でこの問題を抱えていましたが、これはモバイルSafariでも発生しました(少なくともiOS 6では)。インターレースとして背景を保存することは全面的に機能せず、色空間はRGBでした。ありがたいことに、私の背景には色がほとんどなく、GIFに変換すると問題が完全に修正されました。

于 2013-02-15T06:42:08.987 に答える
0

上記と同じ問題が発生しました(Safariのみ)。私の body タグには背景画像があり、repeat-x であり、ウェブサイト全体の背景として使用されています。ユーザーが Safari でページに移動すると、ページの読み込み時に黒いフラッシュが発生します。これに対する解決策を長年探してきましたが、Safari の未解決のバグのようです。

「style: background-color: #FFF」を html タグと body タグに追加しようとしましたが、古い学校の「bgcolor: #FFF」も使用してみましたが、どれも機能しません。

Safari を動作させる唯一の方法は、CSS + jQuery を使用することでした。html および CSS ファイルで本文に「bg-on」のクラスを指定します。リンクされた .js ファイルまたは HTML ページのタグ内:

jQuery(function ($) {
$(document).ready(function(){

$('body').removeClass('bg-on');

});//end document ready

/* NOTE (window).load fires when images have been fully loaded */
$(window).load(function() {

$('body').addClass('bg-on');

});//end window load function
});//end jQuery function no conflict mode

上記が行うことは、DOM がブラウザーによって読み込まれるときに、本体からクラスを削除するため、背景画像がないため、Safari は黒い背景を表示しません。次に、window.load イベントが発生し、すべてのアセットが読み込まれると、ボディに背景画像が与えられます...

「bg-on」のクラスが html にハードコードされているため、JS が無効になっているブラウザーにも影響しません。

特にエレガントなソリューションではありませんが、私にとってはうまくいきます。

于 2012-04-09T20:17:08.897 に答える