HTML的頁面IE注釋

來源:互聯網
上載者:User

標籤:

我們常常會在網頁的HTML裡面看到形如[if lte IE 9]……[endif]的代碼,表示的是限定某些瀏覽器版本才能執行的語句,那麼這些判斷語句的規則是什麼呢?請看下文:

<!--[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]-->

<!--[if lte IE 6]><![endif]-->IE6及其以下版本可見 <!--[if lte IE 7]><![endif]-->IE7及其以下版本可見 <!--[if IE 6]><![endif]-->只有IE6版本可見 <![if !IE]><![endif]>除了IE以外的版本 <!--[if lt IE 8]><![endif]-->IE8及其以下的版本可見 <!--[if gte IE 7]><![endif]-->IE7及其以下的版本可見 用法:(1)可使用如下代碼檢測當前IE瀏覽器的版本(注意:在非IE瀏覽器中是看不到效果的) <!––[if IE]>       <h1>您正在使用IE瀏覽器</h1>        <!––[if IE 5]>           <h2>版本 5</h2>        <![endif]––>       <!––[if IE 5.0]>           <h2>版本 5.0</h2>        <![endif]––>       <!––[if IE 5.5]>           <h2>版本 5.5</h2>        <![endif]––>       <!––[if IE 6]>           <h2>版本 6</h2>        <![endif]––>       <!––[if IE 7]>           <h2>版本 7</h2>        <![endif]––><![endif]––>

那如果當前的瀏覽器是IE,但版本比IE5還低,該怎麼辦呢,可以使用<!–[if ls IE 5]>,當然,根據條件注釋只能在IE5+的環境之下,所以<!–[if ls IE 5]>根本不會被執行。

 lte:就是Less than or equal to的簡寫,也就是小於或等於的意思。 lt :就是Less than的簡寫,也就是小於的意思。 gte:就是Greater than or equal to的簡寫,也就是大於或等於的意思。

 gt :就是Greater than的簡寫,也就是大於的意思。

 ! : 就是不等於的意思,跟javascript裡的不等於判斷符相同

 

HTML的頁面IE注釋

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.