現在、Web サイトで作業していて、Safari に問題があります。画像をロードすると、スタンドインとして配置される黒い背景があります。これを透明または白にしたいのですが、理解できないようです。見てみな:
http://blazing-ocean-6482.herokuapp.com/
私は html を作成し、body には background-color:white; を使用しました。しかし、これは問題を変えていないようです。
現在、Web サイトで作業していて、Safari に問題があります。画像をロードすると、スタンドインとして配置される黒い背景があります。これを透明または白にしたいのですが、理解できないようです。見てみな:
http://blazing-ocean-6482.herokuapp.com/
私は html を作成し、body には background-color:white; を使用しました。しかし、これは問題を変えていないようです。
interlaced
オプションでPNG画像を保存するだけです
Safari 6 でも同じ問題が発生しました。私の画像はグレースケールの色空間でした。私はそれをrgbに切り替えましたが、問題はなくなりました。画像の色空間設定を確認してみてください!
これは、PNG にアルファ チャネルがないために発生します。Photoshop は、画像に透明なピクセルが含まれている場合にのみ、アルファ チャネルを使用して画像を保存します。Safari で適切に動作させるには、PNG 画像の IHDR チャンクに「truecolor-apha」が含まれている必要があります。tweakpng ( http://entropymine.com/jason/tweakpng/ ) または同様のプログラムで png チャンクを確認できます。
私は最近Safari6.0.2でこの問題を抱えていましたが、これはモバイルSafariでも発生しました(少なくともiOS 6では)。インターレースとして背景を保存することは全面的に機能せず、色空間はRGBでした。ありがたいことに、私の背景には色がほとんどなく、GIFに変換すると問題が完全に修正されました。
上記と同じ問題が発生しました(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 が無効になっているブラウザーにも影響しません。
特にエレガントなソリューションではありませんが、私にとってはうまくいきます。