判斷瀏覽器版本的語句且可兼容多個瀏覽器
2024-08-30 08:35:32
供稿:網(wǎng)友
<!--[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]>,當然,根據(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里的不等于判斷符相同
(2)
應該如何應用條件注釋 本文一開始就說明了,因為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樣式應該位于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í)行該條件下的定義,而是當做注釋視而不見。
正常就是默認的樣式,對IE瀏覽器需要特殊處理的,才進行條件注釋。在HTML文件里,而不能在CSS文件中使用。
現(xiàn)在的DWcs4里面,已經(jīng)裝備了這些注釋:在“窗口-->代碼片段-->注釋”里。其他的版本沒太注意到。