IE條件註釋是微軟從IE5開始就提供的一種非標準邏輯語句,作用是可以靈活的為不同IE版本瀏覽器導入不同html元素,如:樣式表,html標籤等。很顯然這種方法的最大好處就在於屬於微軟官方給出的兼容解決方案而且還能通過W3C的效驗。
讓我們舉幾個例子來看:
<!--[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才能辨識。
<!--[if !IE 7]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
上例中特定IE7版本不能識別,其他版本都能識別,當然要在IE5以上。
<!--[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和更低的版本可以辨識。
上面那些程式碼好像很難記的樣子,其實只要稍微解釋一下關鍵字就很容易記住了。
lt:就是Less than的簡寫,也就是小於的意思。
lte:就是Less than or equal to的簡寫,也就是小於或等於的意思。
gt:就是Greater than的簡寫,也就是大於的意思。
gte:就是Greater than or equal to的簡寫,也就是大於等於的意思。
!:就是不等於的意思,跟javascript裡的不等於判斷符相同。
這樣解釋一下,是不是好記多了。
1、有人會試圖使用dbf5feeb0d676154b00e7fac3915442f來定義非IE瀏覽器下的狀況,但注意:條件註解只有在IE瀏覽器下才能執行,這個程式碼在非IE瀏覽下被當做註釋視而不見。
2、我們通常用IE條件註解根據瀏覽器不同載入不同css,從而解決樣式相容性問題的。其實它可以做的更多。它可以保護任何程式碼區塊——HTML程式碼區塊、JavaScript程式碼區塊、伺服器端程式碼…看看下面的程式碼。
<!--[if IE]> <script type="text/javascript"> alert("你使用的是IE浏览器!"); </script> <![endif]-->
以上是IE瀏覽器條件註解的詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!