一、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]-->
其他
</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卻不行。
原帖位址:http://hi.baidu.com/yansueh/item/2c1f1adfd9c22a43ddf9beeb