0

サイズが約 880 キロバイトの背景画像を含むランディング ページがあります。このルールで背景を設定します。

background: #fff url(bg1.png) no-repeat left top;

問題は、IE8 と 9 では背景が表示されないことです。画像が完全にダウンロードされていないようです。IE9 でネットワーク プロファイラーを使用すると、Fiddler でさえも、この特定のイメージの読み込みに問題があることがわかります。さらに、新しいタブを開いて画像に直接移動して読み込み、ランディング ページを更新すると、背景画像が表示されます。うっとうしい……IEのキャッシング機構の問題でしょうか。imgタグに入れると同じことが起こります。スペースを取るだけで表示されません。

編集:さらに分析すると、次のことが指摘できます。1.フィドラーで、リクエストが行われ、コード200で完了したことがわかりますが、何らかの理由でIEによって中止されます。2.ランダムです。キャッシュなしで更新し続けると、画像が表示される場合と表示されない場合があります。

ヘルプ?

4

1 に答える 1

0

あなたが提供した情報から、bg1.png へのパスが正しいことを条件に、あなたが行っていることに間違いはありません。画像は実際にソース コードと同じディレクトリにありますか?

いずれにせよ、CSS リセットを使用することは良い習慣であり、問​​題を解決する可能性があります。

http://meyerweb.com/eric/tools/css/reset/

ソース コードで IE をターゲットにして、別のスタイル シートを他のブラウザにロードするように強制することもできます。

ソース コードの頭に次のように記述します。

<!--[if IE]>
    <link rel="stylesheet" type="text/css" href="css/all_ie_only.css" />
<![endif]-->

次に、css ディレクトリに「all_ie_only.css」というファイルを作成します。「all_ie_only.css」内に、別のルールを記述して、IE で動作させるようにします。

より詳細なルールが機能するはずです。

body {
 background-image: url('bg1.png');
 background-repeat: no-repeat;
 background-position: left top;
}
于 2013-05-16T17:43:42.940 に答える