css中IE判斷語句 if !IE

【css中IE判斷語句 if !IE】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瀏覽器的條件注釋,常用于CSS Hack、針對IE的JS等 。

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

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

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

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

通俗點,條件注釋就是一些if判斷,但這些判斷不是在腳本里執行的,而是直接在html代碼里執行的,比如:
![if IE]
這里是正常的html代碼
![endif]


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

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

3,條件注釋使用的是HTML的注釋結構 , 因此他們只能使用在HTML文件里,而不能在CSS文件中使用 。

可使用如下代碼檢測當前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里的不等于判斷符相同

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

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

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

應該如何應用條件注釋

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

復制代碼代碼如下:
! 默認先調用css.css樣式表
link rel=stylesheet type=text/css href=https://www.questions.com.cn/dnjc/css.css /
![if IE 7]
! 如果IE瀏覽器版是7,調用ie7.css樣式表
link rel=stylesheet type=text/css href=https://www.questions.com.cn/dnjc/ie7.css /
![endif]
![if lte IE 6]
! 如果IE瀏覽器版本小于等于6 , 調用ie.css樣式表
link rel=stylesheet type=text/css href=https://www.questions.com.cn/dnjc/ie.css /
![endif]


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

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

比如如下代碼,在IE瀏覽器下執行顯示為紅色,而在非IE瀏覽器下顯示為黑色 。如果把條件注釋判斷放在首行,則不能實現 。該例題很能說明網頁對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瀏覽器下才能執行 , 這個代碼在非IE瀏覽下非單不是執行該條件下的定義,而是當做注釋視而不見 。

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

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

相關經驗推薦