IE條件註釋詳解
IE條件註釋是微軟從IE5開始就提供的一種非標準邏輯語句,作用是可以靈活的為不同IE版本瀏覽器匯入不同html元素,如:樣式表,html標籤等。很顯然這種方法的最大好處就在於屬於微軟官方給出的相容解決辦法而且還能通過W3C的效驗。
讓我們舉幾個例子來看看:
1、只有IE才能識別
<!--[if IE]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
因為只有IE5以上的版本才開始支援IE條件註釋,所有“只有IE”才能識別的意思是“只有IE5版本以上”才能識別。
2、只有特定版本才能識別
<!--[if IE 8]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
識別特定的IE版本,高了或者低了都不可以。上例只有IE8才能識別。
3、只有不是特定版本的才能識別
<!--[if !IE 7]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
上例中特定IE7版本不能識別,其他版本都能識別,當然要在IE5以上。
4、只有高於特定版本才能識別
<!--[if gt IE 7]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
上例中只有高於IE7的版本才能識別。IE7無法識別。
5、等於或者高於特定版本才能識別
<!--[if gte IE 7]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
上例中IE7和更高的版本都能識別。
6、只有低於特定版本的才能識別
<!--[if lt IE 7]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
上例中只有低於IE7的版本才能識別,IE7無法識別。
7、等於或者低於特定版本的才能識別
<!--[if lte IE 7]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
上例中IE7和更低的版本可以識別。
關鍵詞解釋
上面那些程式碼好像很難記的樣子,其實只要稍微解釋一下關鍵字就很容易記住了。
lt :就是Less than的簡寫,也就是小於的意思。
lte :就是Less than or equal to的簡寫,也就是小於或等於的意思。
gt :就是Greater than的簡寫,也就是大於的意思。
gte:就是Greater than or equal to的簡寫,也就是大於或等於的意思。
!:就是不等於的意思,跟javascript裡的不等於判斷符相同。
這樣解釋一下,是不是好記多了。
特別提示:
1、有人會試圖使用<!--[if !IE]>來定義非IE瀏覽器下的狀況,但注意:條件註釋只有在IE瀏覽器下才能執行,這個程式碼在非IE瀏覽下被當做註釋視而不見。
2、我們通常用IE條件註釋根據瀏覽器不同載入不同css,從而解決樣式相容性問題的。其實它可以做的更多。它可以保護任何程式碼塊——HTML程式碼塊、JavaScript程式碼塊、伺服器端程式碼……看看下面的程式碼。
<!--[if IE]> <script type="text/javascript"> alert("你使用的是IE瀏覽器!"); </script> <![endif]-->
相關文章
- HTML下在IE瀏覽器中的專有條件註釋HTML瀏覽器
- IE10/11不支援條件性註釋後的替代方法IE10
- 針對IE6、7、8條件註釋語句(不同版本IE顯示用不用css)CSS
- 條件註釋判斷瀏覽器瀏覽器
- linux if [條件] 詳解Linux
- Spring條件註解@ConditionalSpring
- 條件註釋判斷瀏覽器版本瀏覽器
- JavaScript註釋:單行註釋和多行註釋詳解JavaScript
- linux 條件變數詳解Linux變數
- Python if else條件語句詳解Python
- Spring Boot 自動配置之條件註解Spring Boot
- 電子郵件地址註冊過程詳解
- MySQL條件判斷IF,CASE,IFNULL語句詳解MySqlNull
- IE CSS Bug系列:IE7子選擇器註釋BugCSS
- web中通過註釋判斷瀏覽器<!--[if !IE]><!--[if IE]><!--[if lt IE 6]><!--[if gte IE 6]>版本Web瀏覽器
- Spring Boot @Condition 註解,組合條件你知道嗎Spring Boot
- IDEA中如何設定檔案頭註釋和方法註釋(詳解)Idea
- SpringBoot基礎篇Bean之條件注入之註解使用Spring BootBean
- 一文詳解Python字串條件判斷方法Python字串
- 【開發篇sql】 條件和表示式(三) Null詳解SQLNull
- 註冊庫克群島公司的(CookIslands) 條件
- SpringBoot原始碼分析之條件註解的底層實現Spring Boot原始碼
- Lombok 註解詳解Lombok
- Java註解詳解Java
- Java 註解詳解Java
- android弧形進度條,有詳細註釋的,比較簡單Android
- Java 物件陣列多屬性條件排序問題(詳解)Java物件陣列排序
- 註解和註釋區別
- Oracle自動動態註冊成功的條件Oracle
- Swift 條件語句講解Swift
- @FeignClient註解詳解client
- springmvc註解詳解SpringMVC
- Java註解(Annotation)詳解Java
- Spring註解詳解Spring
- Java註解詳解「註解專案實戰」Java
- AJAX 詳解註釋很全來自網際網路
- canvas圓形進度條註釋超全Canvas
- Java註解最全詳解(超級詳細)Java