條件注釋判斷瀏覽器<!--[if !IE]><!--[if IE]><!--[if lt IE 6]><!--[if gte IE 6]>,ltgte
<!--[if !IE]><!--> 除IE外都可識別 <!--<![endif]-->
<!--[if IE]> 所有的IE可識別 <![endif]-->
<!--[if IE 6]> 僅IE6可識別 <![endif]-->
<!--[if lt IE 6]> IE6以及IE6以下版本可識別 <![endif]-->
<!--[if gte IE 6]> IE6以及IE6以上版本可識別 <![endif]-->
<!--[if IE 7]> 僅IE7可識別 <![endif]-->
<!--[if lt IE 7]> IE7以及IE7以下版本可識別 <![endif]-->
<!--[if gte IE 7]> IE7以及IE7以上版本可識別 <![endif]-->
<!--[if IE 8]> 僅IE8可識別 <![endif]-->
<!--[if IE 9]> 僅IE9可識別 <![endif]-->
| 項目 |
範例 |
說明 |
| ! |
[if !IE] |
The NOT operator. This is placed immediately in front of the feature, operator, or subexpression to reverse the Boolean meaning of the expression. NOT運算子。這是擺立即在前面的功能,操作員,或子運算式扭轉布林運算式的意義。 |
| lt |
[if lt IE 5.5] |
The less-than operator. Returns true if the first argument is less than the second argument. 小於運算子。如果第一個參數小於第二個參數,則返回true。 |
| lte |
[if lte IE 6] |
The less-than or equal operator. Returns true if the first argument is less than or equal to the second argument. 小於或等於運算。如果第一個參數是小於或等於第二個參數,則返回true。 |
| gt |
[if gt IE 5] |
The greater-than operator. Returns true if the first argument is greater than the second argument. 大於運算子。如果第一個參數大於第二個參數,則返回true。 |
| gte |
[if gte IE 7] |
The greater-than or equal operator. Returns true if the first argument is greater than or equal to the second argument. 大於或等於運算。如果第一個參數是大於或等於第二個參數,則返回true。 |
| ( ) |
[if !(IE 7)] |
Subexpression operators. Used in conjunction with boolean operators to create more complex expressions. 子運算式電訊廠商。在與布林運算子用於建立更複雜的運算式。 |
| & |
[if (gt IE 5)&(lt IE 7)] |
The AND operator. Returns true if all subexpressions evaluate to true AND運算子。如果所有的子運算式計算結果為true,返回true |
| | |
[if (IE 6)|(IE 7)] |
The OR operator. Returns true if any of the subexpressions evaluates to true. OR運算子。返回true,如果子運算式計算結果為true。 |
<!--[if lt IE 9]>
載入CSS1
<!--[else]>
載入CSS2
<![endif]-->
這樣有效是有效,但是用HTML VALIDATOR裡,報錯,因為這個不符合XHTML 1.1的規範,
如果把ELSE語句去掉,則正確.
方法1:
載入CSS2
<!--[if lt IE 9]>
載入CSS1(可以把要重寫的寫在這裡).
<![endif]-->
HTML 的注釋格式是 , IE 對HTML注釋做了一些擴充,使之可以支援條件判斷運算式,怎讓靜態HTML代碼在不
和程式設計語言類似,這裡的運算式還支援大於(gt)、小於(lt)、 與或非 等操作符,條件注釋是 IE5.0 以上版本所特有的一種對注釋的擴充,其它瀏覽器不支援。[if IE] 判斷是否IE[if IE 7] 判斷是否是IE7[if !IE] 判斷是否不是IE[if lt IE 5.5] 判斷是否是IE5.5 以下版本。 (<)[if lte IE 6] 判斷是否等於IE6 版本或者以下 (<=)[if gt IE 5] 判斷是否IE5以上版本 (> )[if gte IE 7] 判斷是否 IE7 版本或者以上[if !(IE 7)] 判斷是否不是IE7[if (gt IE 5)&(lt IE 7)] 判斷是否大於IE5, 小於IE7[if (IE 6)|(IE 7)] 判斷是否IE6 或者 IE7下面是判斷IE版本的綜合範例程式碼: <!--[if IE]> You are using Internet Explorer. <![endif]--> <!--[if !IE]--> You are not using Internet Explorer. <!--[endif]--> <!--[if IE 7]> Welcome to Internet Explorer 7! <![endif]--> <!--[if !(IE 7)]> You are not using version 7. <![endif]--> <!--[if gte IE 7]> You are using IE 7 or greater. <![endif]--> <!--[if (IE 5)]> You are using IE 5 (any version). <![endif]--> <!--[if (gte IE 5.5)&(lt IE 7)]> You are using IE 5.5 or IE 6. <![endif]--> <!--[if lt IE 5.5]> Please upgrade your version of Internet Explorer. <![endif]--> 對於<!–[if expression]> HTML <![endif]–>,非 IE 瀏覽器會當作注釋內容,不顯示;對於 <!–[if expression]–> HTML <!–[endif]–>,非 IE 瀏覽器瀏覽器會當作普通程式碼片段顯示。
CSS if條件Hack是不是只針對IE瀏覽器?
還可以實現非IE瀏覽器可識別:具體應用例子如下:
<!--[if IE]> <h1>您正在使用IE瀏覽器</h1> <![endif]--> <!--[if IE 5.5]> <h1>版本 5.5</h1> <![endif]--> <!--[if IE 6]> <h1>版本 6</h1> <![endif]--> <!--[if IE 7]> <h1>版本 7</h1> <![endif]--> 下面的代碼是在非IE瀏覽器下啟動並執行條件注釋 <!--[if !IE]><!--> <h1>您使用不是 Internet Explorer</h1> <!--<![endif]--> 最終在非IE和特殊的IE瀏覽器下起作用 (或者使用 lte lt 或者 gt gte來判斷,如: <!--[if lte IE 6]> 在IE 6下顯示的資訊 <![endif]--> ). <!--[if IE 6]><!--> <h1>您正在使用Internet Explorer version 6<br /> 或者 一個非IE 瀏覽器</h1> <!--<![endif]-->