2011-11-09 9 views
0

IE7以上はChrome/Firefox/Operaと同じボックスモデルになっていると思っていましたが、IE8で次にChrome/Firefox /オペラ、私は別の結果を得る。IE8とChrome/Firefox/Operaのモデルの違い

IE8では、ボックスの末尾に、私が取り除きたいリップのビットが表示されます。私の問題を解決するために厳密にCSSを使用することは可能ですか、またはブラウザを検出してCSSを変更するためにJavascriptを使用する必要がありますか?

ここに私が作業しているコードへのリンクがあります。私の問題を見るには、IEとChrome、Firefox、Operaのいずれかを使う必要があります。互換モードと標準モード:

http://jsfiddle.net/LsXTk/1/

答えて

1

IE7には2つのモードがあります。 IEのMSの部分では、輝かしい動きの長いラインのさらに別のもの。 (はい、私は皮肉だ):ページがローカルまたはからロードされている場合、通常は人をトリップ何

http://blogs.msdn.com/b/chkoenig/archive/2008/08/28/ie8-standards-mode-and-ie7-compatibility-mode.aspx

は、デフォルトでは、IE8は互換性に戻り、ということであるモード(すなわち、壊れました)サーバーをネットワークに接続します。私は、イントラネット上のページでなければならないと思っており、イントラネットWebソフトウェアの90%がIE6の怪物であり、標準のブラウザではかなり壊れているので、コードが壊れて互換モードに戻る。

IE8の検出に関しては、IE8の条件付きコメントでJavaScriptなしで実行できます。必要に応じて

<!--[if !IE]> --> 
    <body> 
<!--<![endif]--> 
<!--[if gt IE 8]> 
<body id="IE9"> 
<![endif]--> 
<!--[if IE 8]> 
    <body id="IE8"> 
<![endif]--> 
<!--[if IE 7]> 
    <body id="IE7"> 
<![endif]--> 
<!--[if lt IE 7]> 
    <body id="IE6"> 
<![endif]--> 

は、その後、あなたのCSSに、あなたは簡単に別のCSSを果たすことができます:

.myStyle {for good browsers} 
#ie7 .myStyle {fix for IE7} 
+0

パーフェクト私は一般的にやっていることは条件文の開口bodyタグをラップし、それぞれ固有のIDを与えています。それはチャンピオンのように動作します! – JoeFletch

関連する問題