詳談IE條件注釋
概述
如果你厭煩了為低版本IE寫又臭又長的hack,IE條件注釋將是比較優(yōu)美的解決方法。當(dāng)然條件注釋的功能不僅僅是以上那些功能,除了規(guī)避寫出惡心的hack,它還可以針對不同的IE版本(IE5.5-9,IE10不支持條件注釋)做出不同的相應(yīng),比如針對不同IE加載不同的樣式,或者腳本等等,更多的功能等待我們的發(fā)掘和運用。
條件注釋簡介
IE中的條件注釋(Conditional comments)對IE的版本和IE非IE有優(yōu)秀的區(qū)分能力,是WEB設(shè)計中常用的hack方法。
條件注釋只能用于IE5以上,IE10以上不支持。
如果你安裝了多個IE,條件注釋將會以最高版本的IE為標準。
條件注釋的基本結(jié)構(gòu)和HTML的注釋(<!– –>)是一樣的。因此IE以外的瀏覽器將會把它們看作是普通的注釋而完全忽略它們。
IE將會根據(jù)if條件來判斷是否如解析普通的頁面內(nèi)容一樣解析條件注釋里的內(nèi)容。
條件注釋語法
| 項目 | 范例 | 說明 |
|---|---|---|
| ! | [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運算符。這是擺立即在前面的功能,操作員,或子表達式扭轉(zhuǎn)布爾表達式的意義。 |
| lt | [if lt IE 5.5] | The less-than operator. Returns true if the first argument is less than the second argument. 小于運算符。如果第一個參數(shù)小于第二個參數(shù),則返回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. 小于或等于運算。如果第一個參數(shù)是小于或等于第二個參數(shù),則返回true。 |
| gt | [if gt IE 5] | The greater-than operator. Returns true if the first argument is greater than the second argument. 大于運算符。如果第一個參數(shù)大于第二個參數(shù),則返回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. 大于或等于運算。如果第一個參數(shù)是大于或等于第二個參數(shù),則返回true。 |
| ( ) | [if !(IE 7)] | Subexpression operators. Used in conjunction with boolean operators to create more complex expressions. 子表達式運營商。在與布爾運算符用于創(chuàng)建更復(fù)雜的表達式。 |
| & | [if (gt IE 5)&(lt IE 7)] | The AND operator. Returns true if all subexpressions evaluate to true AND運算符。如果所有的子表達式計算結(jié)果為true,返回true |
| | | [if (IE 6)|(IE 7)] | The OR operator. Returns true if any of the subexpressions evaluates to true. OR運算符。返回true,如果子表達式計算結(jié)果為true。 |
條件注釋使用方法示例
<!–[if IE 5]>僅IE5.5可見<![endif]–>
<!–[if gt IE 5.5]>僅IE 5.5以上可見<![endif]–>
<!–[if lt IE 5.5]>僅IE 5.5以下可見<![endif]–>
<!–[if gte IE 5.5]>IE 5.5及以上可見<![endif]–>
<!–[if lte IE 5.5]>IE 5.5及以下可見<![endif]–>
<!–[if !IE 5.5]>非IE 5.5的IE可見<![endif]–>
條件注釋使用案例

特別提示:
1、有人會試圖使用<!--[if !IE]>來定義非IE瀏覽器下的狀況,但注意:條件注釋只有在IE瀏覽器下才能執(zhí)行,這個代碼在非IE瀏覽下被當(dāng)做注釋視而不見。
2、我們通常用IE條件注釋根據(jù)瀏覽器不同載入不同css,從而解決樣式兼容性問題的。其實它可以做的更多。它可以保護任何代碼塊——HTML代碼塊、JavaScript代碼塊、服務(wù)器端代碼……看看下面的代碼。
<!--[if IE]>
<script type="text/javascript">
alert("你使用的是IE瀏覽器!");
</script>
<![endif]-->
相關(guān)文章
- 條件注釋是IE特有的一種功能,能對IE系列產(chǎn)品進行單獨的XHTML代碼處理,注意,主要是針對XHTML,而非CSS。 條件注釋功能非常強大,可以進行true和false判斷,例如:2008-10-17
- IE的有條件注釋是一種專有的(因此是非標準的)、對常規(guī)(X)HTML注釋的Miscrosoft擴展。 IE的有條件注釋是一種專有的(因此是非標準的)、對常規(guī)(X)HTM2009-04-02
- IE瀏覽器的條件注釋雖不太常用,卻異常強大,不僅可以用來區(qū)分IE瀏覽器版本2010-03-05
- 本文將為你總結(jié)CSS針對各瀏覽器的兼容HACK(以IE6/IE7/IE8 /FF為主),以及IE特有的條件注釋使用方法.2010-07-04
- ie10已經(jīng)上線一段時間了,相信已經(jīng)有一部分前端潮人體驗過了,截至到現(xiàn)在,在ie6到ie9的瀏覽器各種各樣的古怪行為,開發(fā)人員不得不使用條件注釋,有條件的類,和其他特定于I2012-12-11
瀏覽器兼容之旅第一站:如何在頁面中創(chuàng)建IE條件注釋
瀏覽器的兼容問題一定處理過不少了,特別是IE6的兼容問題;這一節(jié)主要了解了如何在頁面中創(chuàng)建IE條件注釋,以及其帶來的好處,和所起的作用,需要了解的朋友可以參考下2012-12-27- 使用條件注釋判斷瀏覽器在某些時候還是比較使用的,比如css 樣式的兼容根據(jù)瀏覽器不同進行判斷加載,類似的例子還有好多,感興趣的朋友可以參考下,希望對大家有所幫助2013-07-26
使用條件注釋判斷 IE 瀏覽器版本適用于IE5.0及以上版本
IE條件注釋是一種特殊的HTML注釋,這種注釋只有IE5.0及以上版本才能理解,下面為大家介紹下使用條件注釋判斷 IE 瀏覽器版本,感興趣的朋友可以參考下2014-03-31

