IE7有兩種模式:兼容模式和標準模式。另一個是MS在IE上的一大亮點。 (是的,我是在諷刺):
http://blogs.msdn.com/b/chkoenig/archive/2008/08/28/ie8-standards-mode-and-ie7-compatibility-mode.aspx
通常什麼人絆倒了的是,在默認情況下,IE8恢復到兼容性(即爆發)模式如果頁面被本地或從裝服務器在您的網絡上。我猜想邏輯是它必須是內聯網上的一個頁面,並且由於所有內聯網網絡軟件中有90%是可怕編碼的IE6怪物,在任何標準瀏覽器中幾乎都會中斷,所以最好假設代碼已損壞並恢復到兼容模式。
至於檢測IE8,你可以通過IE瀏覽器的條件註釋不使用JavaScript。我通常做的是包裹在條件語句口主體標籤,並給每個一個唯一的ID:
<!--[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}
完美。這就像一個冠軍! – JoeFletch