IE條件註釋是微軟從IE5開始就提供的一種非標準邏輯語句,做用是能夠靈活的爲不一樣IE版本瀏覽器導入不一樣html元素,如:樣式表,html標籤等。很顯然這種方法的最大好處就在於屬於微軟官方給出的兼容解決辦法並且還能經過W3C的效驗。javascript
關鍵詞解釋css
lt :就是Less than的簡寫,也就是小於的意思。 lte :就是Less than or equal to的簡寫,也就是小於或等於的意思。 gt :就是Greater than的簡寫,也就是大於的意思。 gte:就是Greater than or equal to的簡寫,也就是大於或等於的意思。 !:就是不等於的意思,跟javascript裏的不等於判斷符相同。
讓咱們舉幾個例子來看看:html
一、只有IE才能識別 java
<!--[if IE]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
由於只有IE5以上的版本纔開始支持IE條件註釋,全部「只有IE」才能識別的意思是「只有IE5版本以上」才能識別。瀏覽器
二、只有特定版本才能識別服務器
<!--[if IE 8]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
識別特定的IE版本,高了或者低了都不能夠。上例只有IE8才能識別。code
三、只有不是特定版本的才能識別htm
<!--[if !IE 7]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
上例中特定IE7版本不能識別,其餘版本都能識別,固然要在IE5以上。ip
四、只有高於特定版本才能識別兼容性
<!--[if gt IE 7]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
上例中只有高於IE7的版本才能識別。IE7沒法識別。
五、等於或者高於特定版本才能識別
<!--[if gte IE 7]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
上例中IE7和更高的版本都能識別。
六、只有低於特定版本的才能識別
<!--[if lt IE 7]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
上例中只有低於IE7的版本才能識別,IE7沒法識別。
七、等於或者低於特定版本的才能識別
<!--[if lte IE 7]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
上例中IE7和更低的版本能夠識別。
特別提示:
1、有人會試圖使用<!--[if !IE]>來定義非IE瀏覽器下的情況,但注意:條件註釋只有在IE瀏覽器下才能執行,這個代碼在非IE瀏覽下被當作註釋視而不見。
2、咱們一般用IE條件註釋根據瀏覽器不一樣載入不一樣css,從而解決樣式兼容性問題的。其實它能夠作的更多。它能夠保護任何代碼塊——HTML代碼塊、JavaScript代碼塊、服務器端代碼……看看下面的代碼。
<!--[if IE]> <script type="text/javascript"> alert("你使用的是IE瀏覽器!"); </script> <![endif]-->