HTML中的IE條件注釋

來源:互聯網
上載者:User
關鍵字 注釋 就是 等於 這些

IE條件注釋是一種特殊的HTML注釋,這種注釋只有IE5.0及以上版本才能理解。 比如普通的HTML注釋是:

<!--This is a comment-->

而只有IE可讀的IE條件注釋是:

<!--[if IE]> <! [endif]-->

「非IE條件注釋」:

<!--[if ! IE]>--> non-IE HTML Code <!--<! [endif]-->

「非特定版本IE條件注釋」(很少用到):

<!--[if ! lt IE 7]><! [IGNORE[--><![ IGNORE[]]>Code for browsers that match the if condition<!--<! [endif]-->

簡而言之,除了「Windows上的IE」之外的所有瀏覽器都會認為條件注釋只是一段普通的HTML注釋。 你不能在CSS代碼中使用條件注釋。 IE條件注釋是很有用的對IE隱藏或者展現特定代碼的方法,比起在CSS中用詭異的_/製造bug,利用IE條件注釋來寫CSS 「hacks」是更合理的方法。 通俗點,條件注釋就是一些if判斷,但這些判斷不是在腳本裡執行的,而是直接在html代碼裡執行的。

條件注釋的基本結構和HTML的注釋(<!– –>)是一樣的。 因此IE以外的瀏覽器將會把它們看作是普通的注釋而完全忽略它們。 IE將會根據if條件來判斷是否如解析普通的頁面內容一樣解析條件注釋裡的內容。 條件注釋使用的是HTML的注釋結構,因此他們只能使用在HTML檔裡,而不能在CSS檔中使用。

從語法上看這是相當合法的普通HTML注釋。 任何瀏覽器都會認為<!–和–>之間的部分是注釋從而忽略它。 但是IE也會看到其中[if IE]>,從而開始解釋接下來的代碼直到遇到<! [endif]。 所以,下面這些代碼不會顯示在任何其他瀏覽器中面。

通過「比較操作符」可以更靈活地對IE版本進行控制,用法是在IE前面加上「比較操作符」。 合法的操作符如下:

lte:就是Less than or equal to的簡寫,也就是小於或等於的意思。 lt :就是Less than的簡寫,也就是小於的意思。 gte:就是Greater than or equal to的簡寫,也就是大於或等於的意思。 gt :就是Greater than的簡寫,也就是大於的意思。 ! :就是不等於的意思,跟javascript裡的不等於判斷符相同

示例:

&lt;!–[if gt IE 5.5]&gt; / 如果IE版本大於5.5 / &lt;!–[if lte IE 6]&gt; / 如果IE版本小於等於6 / &lt;!–[if ! IE]&gt; / 如果瀏覽器不是IE /

雖然看上去當你第一次使用條件注釋的時候會更費時,但當你以後調試你的CSS的時候,就會發現非常方便。 用條件注釋你只需要寫一遍HTML注釋,而用bug你需要為每一條規則都寫上又長又醜的代碼,而且還經常是為了改變其他的hacks而寫的hacks。 除此之外條件注釋對於不支援它的任何瀏覽器而言都是合法的HTML注釋。 以下為條件注釋與CSS hacks的一些區別:

Hacks是基於瀏覽器的bug,而這些bug最終可能會被修復。 條件注釋是基於IE特定代碼,這種識別機制任何時候都不會被移除。 每一個瀏覽器都能看見你的hacks,或許下一個版本或者一個新的瀏覽器會在你的hacks代碼上出錯。 只有IE才能看到條件注釋,通過額外的「IE檔」來影響頁面,其他瀏覽器根本就不會下載它。 Hacks不能確保對哪些瀏覽器生效而對哪些不,用的hacks越多,代碼越混亂。 條件注釋利用版本匹配使得作者可以容易地對特定版本寫代碼。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.