5

現在、IE8(仮想マシン上で実行中)のサイトをテスト中です。IEデベロッパーツールを開くと、CSSが予期せず変更される

サイトでは、内部のいくつかの背景画像を使用しています:beforeと:メディアクエリ内にある要素を、後:

@media (min-width: 980px) { 

    .box:after { 
     ... 
     background: url('../images/assets/home-create-background.png') bottom right no-repeat; 
     ... 
    } 
} 

私はIE8のメディアクエリのサポートを提供するためにrespond.jsを使用しています。 メディアクエリ内のルールは、ページが読み込まれるとすぐに適用されます(すなわち、respond.jsが実際に動作しています)。ただし、この画像は表示されません。

面白いこと:IE Developer Tools(F12キーを押すなど)を開くと、画像が突然表示されます。

誰も同じような経験がありますか? あなたはどんなアイデアや探索の方向性を持っていますか?


編集: 私は最終的にコンテンツを追加し、この問題を解決することができました:擬似要素の後に(私はすでに、このルールを適用し、ではなく、メディアクエリー内や、何らかの理由でました、それは痛みのポイントのカップル)IEに適用されていない場合には

.box:after { 
     ... 
     background: url('../images/assets/home-create-background.png') bottom right no-repeat; 
     content: " "; 
     ... 
    } 

だった、私はそれは私が開発ツールを開いたときにレイアウトが変更された理由を知ることは興味深いことです信じて...

+0

ご質問に小さなテストケースを追加してください。 –

+0

私はこの質問を以前に見ました。 – Knu

+0

私はJavaScriptで気づいたので、CSSでも同じことが起こるのは驚くことではありません。 Web以外の人々は、IEが何年もの間私たちに何度も痛みを感じさせているか、実際には分かりません。 – Graham

答えて

4

IEはそのように識別することが可能で、それには、以下のチェックをする価値がある:開発者ツールが表示されるまで

  1. どれconsole.log()文が何をレンダリングしないようにIEを強制します。
  2. IE Devツールを開くと、既定では使用していた既定のビューとは異なる互換モードになります。
+0

+1すべてのconsole.log()ステートメントは、開発ツールが表示されるまでIEに何も表示させません。 –

+0

1:これは私の場合は問題ではないようです(すべてのconsole.logを削除しようとしました)。しかし、それを知ることは非常に面白いです。 2:いいえ、私はノーマルモード(IE8)で動作していましたが、もう一度良い点があります。 –

関連する問題