html中塊注釋的使用詳細介紹
來源:易賢網(wǎng) 閱讀:822 次 日期:2016-06-21 10:38:26
溫馨提示:易賢網(wǎng)小編為您整理了“html中塊注釋的使用詳細介紹”,方便廣大網(wǎng)友查閱!

因為IE各版本的瀏覽器對我們制作的WEB標準的頁面解釋不一樣,具體就是對CSS的解釋不同,我們?yōu)榱思嫒葸@些,可運用條件注釋來各自定義,最終達到兼容的目的。塊注釋的使用感興趣的朋友可以參考下

html中的普通注釋: <!--XXXXXXXX-->,這里面的XXXXXXXX是注釋內(nèi)容

html中塊注釋css <!--[if IE]>….<![endif]--> (<!--[if !IE]>||<![endif]

代碼如下:

1. <!--[if !IE]><!--> 除IE外都可識別 <!--<![endif]-->

2. <!--[if IE]> 所有的IE可識別 <![endif]-->

3. <!--[if IE 5.0]> 只有IE5.0可以識別 <![endif]-->

4. <!--[if IE 5]> 僅IE5.0與IE5.5可以識別 <![endif]-->

5. <!--[if gt IE 5.0]> IE5.0以及IE5.0以上版本都可以識別 <![endif]-->

6. <!--[if IE 6]> 僅IE6可識別 <![endif]-->

7. <!--[if lt IE 6]> IE6以及IE6以下版本可識別 <![endif]-->

8. <!--[if gte IE 6]> IE6以及IE6以上版本可識別 <![endif]-->

9. <!--[if IE 7]> 僅IE7可識別 <![endif]-->

10. <!--[if lt IE 7]> IE7以及IE7以下版本可識別 <![endif]-->

11. <!--[if gte IE 7]> IE7以及IE7以上版本可識別 <![endif]-->

<!--[if lte IE 6]>……<![endif]-->

Ite:less than or equal to意思是小于或等于IE6瀏覽器,用于IE瀏覽器的條件注釋,常用于CSShack,針對IE的JS等。

在進行WEB標準網(wǎng)頁的學(xué)習(xí)和應(yīng)用過程中,網(wǎng)頁對瀏覽器的兼容性是經(jīng)常接觸到的一個問題。其中因微軟公司的Internet Explorer(簡稱IE)占據(jù)瀏覽器市場的大半江山,此外還有Firefox、Opera等。需要對這些瀏覽器進行兼容。

同時,單就IE而言,因IE版本的升級更替,目前瀏覽者使用的主要停留在 IE5(IE5.5)、IE6和IE7這三個版本中。而這3個版本對于我們制作的WEB標準網(wǎng)頁(XHTML+CSS)解釋執(zhí)行的顯示狀況不盡相同。并 且,其他非IE瀏覽器與IE對某些CSS解釋也不一樣。所以,通過IE瀏覽器中的專有條件注釋可有針對性的進行相關(guān)屬性的定義。

條件注釋只能用于Explorer 5+ Windows(以下簡稱IE)(條件注釋從IE5開始被支持)。如果你安裝了多個IE,條件注釋(Conditional comments)將會以最高版本的IE為標準(目前為IE 7)。

條件注釋只能在windows Internet Explorer(以下簡稱IE)下使用,因此我們可以通過條件注釋來為IE添加特別的指令。

通俗點,條件注釋就是一些if判斷,但這些判斷不是在腳本里執(zhí)行的,而是直接在html代碼里執(zhí)行的,比如:

<!--[if IE]>

這里是正常的html代碼

<![endif]-->

1,條件注釋的基本結(jié)構(gòu)和HTML的注釋(<!-- -->)是一樣的。因此IE以外的瀏覽器將會把它們看作是普通的注釋而完全忽略它們。

2,IE將會根據(jù)if條件來判斷是否如解析普通的頁面內(nèi)容一樣解析條件注釋里的內(nèi)容。

3,條件注釋使用的是HTML的注釋結(jié)構(gòu),因此他們只能使用在HTML文件里,而不能在CSS文件中使用。

可使用如下代碼檢測當(dāng)前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]-->

那如果當(dāng)前的瀏覽器是IE,但版本比IE5還低,該怎么辦呢,可以使用<!--[if ls IE 5]>,當(dāng)然,根據(jù)條件注釋只能在IE5+的環(huán)境之下,所以<!--[if ls IE 5]>根本不會被執(zhí)行。

lte:就是Less than or equal to的簡寫,也就是小于或等于的意思。

lt :就是Less than的簡寫,也就是小于的意思。

gte:就是Greater than or equal to的簡寫,也就是大于或等于的意思。

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

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

Conditional comments屬于CSS hack? 條件判斷屬于CSS hack嗎?

嚴格地說是屬于CSS hack。因為就好象其他真正的css hack一樣,它使得我們可以給一些瀏覽器賦予特殊的樣式,再則它不依賴于某個瀏覽器的BUG來控制另外一個瀏覽器(的樣式)。除此之外,條件判斷還能用 來做一些超出CSS HACK范圍的事情(雖然這種情況很少發(fā)生)。

因為條件判斷不依賴于某個瀏覽器的hack,而是一個經(jīng)過深思熟慮的特色功能,所以我相信它是可以被放心地使用的。當(dāng)然,其他瀏覽器也有可能支持條件判斷(到目前為止還沒有),但是看起來,他們應(yīng)該不會使用如<!--[if IE]>這樣的語法。

應(yīng)該如何應(yīng)用條件注釋

本文一開始就說明了,因為IE各版本的瀏覽器對我們制作的WEB標準的頁面解釋不一樣,具體就是對CSS的解釋不同,我們?yōu)榱思嫒葸@些,可運用條件注釋來各自定義,最終達到兼容的目的。比如:

代碼如下:

<!-- 默認先調(diào)用css.css樣式表 -->

<link rel="stylesheet" type="text/css" href="css.css" />

<!--[if IE 7]>

<!-- 如果IE瀏覽器版是7,調(diào)用ie7.css樣式表 -->

<link rel="stylesheet" type="text/css" href="ie7.css" />

<![endif]-->

<!--[if lte IE 6]>

<!-- 如果IE瀏覽器版本小于等于6,調(diào)用ie.css樣式表 -->

<link rel="stylesheet" type="text/css" href="ie.css" />

<![endif]-->

這其中就區(qū)分了IE7和IE6向下的瀏覽器對CSS的執(zhí)行,達到兼容的目的。同時,首行默認的css.css還能與其他非IE瀏覽器實現(xiàn)兼容。

注意:默認的CSS樣式應(yīng)該位于HTML文檔的首行,進行條件注釋判斷的所有內(nèi)容必須位于該默認樣式之后。

比如如下代碼,在IE瀏覽器下執(zhí)行顯示為紅色,而在非IE瀏覽器下顯示為黑色。如果把條件注釋判斷放在首行,則不能實現(xiàn)。該例題很能說明網(wǎng)頁對IE瀏覽器和非IE瀏覽器間的兼容性問題解決。

代碼如下:

<style type="text/css">

body{

background-color: #000;

}

</style>

<!--[if IE]>

<style type="text/css">

body{

background-color: #F00;

}

</style>

<![endif]-->

同時,有人會試圖使用<!--[if !IE]>來定義非IE瀏覽器下的狀況,但注意:條件注釋只有在IE瀏覽器下才能執(zhí)行,這個代碼在非IE瀏覽下非單不是執(zhí)行該條件下的定義,而是當(dāng)做注釋視而不見。

正常就是默認的樣式,對IE瀏覽器需要特殊處理的,才進行條件注釋。

在HTML文件里,而不能在CSS文件中使用。

更多信息請查看網(wǎng)頁制作
易賢網(wǎng)手機網(wǎng)站地址:html中塊注釋的使用詳細介紹
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇剩?/div>

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)