HTML和CSS中如何判斷ie各版本瀏覽器
一、HTML代碼中
在編寫網頁代碼時,各種瀏覽器的兼容性是個必須考慮的問題,有些時候無法找到適合所有瀏覽器的寫法,就隻能寫根據瀏覽器種類區別的代碼,這時就要用到判斷代碼了。在HTML代碼中,區別各種瀏覽器的代碼如下,以ie6為例
<!--[if IE 6]>僅IE6可識別<![endif]-->
<!--[if lte IE 6]> IE6及其以下版本可識別<![endif]-->
<!--[if lt IE 6]> IE6以下版本可識別<![endif]-->
<!--[if gte IE 6]> IE6及其以上版本可識別<![endif]-->
<!--[if gt IE 6]> IE6以上版本可識別<![endif]-->
<!--[if IE]> 所有的IE可識別<![endif]-->
以上這些代碼寫法都是針對ie各版本瀏覽器的,在其他瀏覽器中這些代碼都會被解釋為Html注釋而直接無視掉。
<body>
<!--[if IE 6]>
<div>
IE6中才可以看到
</div>
<![endif]-->
<div>
其他
</div>
</body>
所以要想些針對firefox之類的非ie瀏覽器,需要這麼寫:<!--[if !IE]><!--> 除IE外都可識別<!--<![endif]-->
二、CSS代碼中
CSS代碼中,則可以根據各瀏覽器自己獨立的可識別的特殊代碼來編寫區分瀏覽器的代碼,例如為IE係列瀏覽器可讀[\9],而IE6和IE7可讀[*],另外IE6可辨識[ _ ](下劃線);由
於CSS讀取時是按從上到下來的,同樣屬性靠後寫的生效,因此可以依照順序寫下來,就會讓每個瀏覽器正確的讀取到自己看得懂得CSS語法,有效區分各類型或版本:
.classname{
background:blue; /*Firefox等非IE瀏覽器背景變藍色*/
background:red \9; /*IE8 背景變紅色*/
*background:black; /*IE7 背景變黑色*/
_background:orange; /*IE6 背景變橘色*/
}
.classname {
background:black !important; /*非IE6 背景變黑色*/
background:orange; /*IE6 背景變橘色*/
}
因為其他瀏覽器可讀取「!important;」但IE6卻不行。
原帖地址:https://hi.baidu.com/yansueh/item/2c1f1adfd9c22a43ddf9beeb
最後更新:2017-04-03 16:59:42