設計頁面的時候,由於各種瀏覽器版本的兼容性問題,需要爲不同的瀏覽器設計不同的CSS或Javascript,此時就可以用IE Hack來自動識別不同的瀏覽器並加載不同的設置!
IE Hack是一段HTML註釋代碼,但是IE可以識別這些註釋,而其他標準瀏覽器卻不識別,會自動跳過這些註釋,以此來識別不同的瀏覽器。其格式爲
<!–[if express]>………….<![endif]–>
其中express爲版本測試表達式,註釋內部是爲特定瀏覽器版本而設定的代碼!例如在解決png背景透明bug時所使用的代碼,當瀏覽器版本低於或等於IE6的時候就導入這段CSS代碼:
<!--[if lte IE 6]>
<style type="text/css">
img{behavior: url(iepngfix.htc)}
<style>
<[endif]–>
lte:less than or equal to意思是小於或等於
gte: great than or equal to意思是大於或等於
lt:less than 意思是小於
常用的IE Hack表達式
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]–>