IE8瀏覽器中正式版CSS hack技術用法
本文向大家描述一下IE8 CSS hack技術的用法,IE8正式版出來有一段日子了,但是針對IE8正式版的CSS hack卻很少,其實這是值得慶幸的,因為IE8修復了很多IE6和IE7的一些BUG,更加接近W3C標準。
IE8 CSS hack技術
針對IE8正式版的CSS hack目前可以找到的分為2種:
***種:”\9″:
基本的寫法:
1..test{color/*\**/:blue\9}
這個IE6、IE7、IE8都能識別;但是IE8不能識別“*”和“_”的csshack;所以我們可以這樣寫hack:
- 1..header{width:300px;}/*所有瀏覽器*/
- 2..header{width/*\**/:330px\9;}/*所有瀏覽器IE瀏覽器*/
- 3..header{*width:310px;}/*IE7和IE6能識別,IE8和FF不能識別*/
- 4..header{_width:290px;}/*IE6能識別,IE7、IE8和FF不能識別*/
第二種:就是使用IE的條件注釋
條件注釋是IE特有的一種功能,能對IE系列產品進行單獨的XHTML代碼處理,注意,主要是針對XHTML,而非CSS。
條件注釋功能非常強大,可以進行true和false判斷,例如:
程序代碼
- <!–[ifIE]>此內容只有IE可見<![endif]–>
- <!–[ifIE6.0]>此內容只有IE6.0可見<![endif]–>
條件注釋能被IE判斷是什么版本的瀏覽器,并在符合條件的情況下顯示其中的內容,從IE5.0到7.0都支持注釋功能,而且版本號精確到小數點后4位:
程序代碼
- <!–[ifIE6.1000]>此內容只有IE6.1可見<![endif]–>
IE條件注釋還支持感嘆號非操作:
程序代碼
- <!–[if!IE6.0]>此內容除了IE6.0版本之外都可見<![endif]–>
并且支持前綴,用于判斷更高版本或是更低版本:
程序代碼
- <!–[ifgtIE5.0]>此內容只有IE5.0以上版本可見<![endif]–>
這里的gt全稱為greaterthan表示當前條件版本以上版本,但不包含當前版本。
還有其它幾個前綴:
lt表示lessthan當前條件版本以下的版本,不包含當前版本。
gte表示greeterthanorequal當前版本以上版本,并包含當前版本。
lte表示lessthanorequal當前版本以下版本,并包含當前版本。
其他一些csshack的測試:
- 1..color1{color:#F00;color/*\**/:#00F/*\**/}/*IE6,IE7,IE8,FF,OP,SA識別*/
- 2..color2{color:#F00;color/*\**/:#00F/*\9**/}/*IE7,IE8,FF,OP,SA識別*/
- 3..color3{color:#F00;color/*\**/:#00F\9}/*IE6,IE7,IE8識別*/
- 4..color4{color:#F00;color/*\**/:#00F\9}/*IE7,IE8識別*//
- *“color”和“/*\**/”之間有個空格*/
其中:OP表示Opera,SA表示Safari
【編輯推薦】
- CSS hack技術在IE8瀏覽器中的應用
- 探究CSS hack使用原理 規則及弊端
- 深入探究DIV CSS布局中position屬性用法
- CSS屬性display:inline-block使用揭秘
- CSS hack:實現IE6、IE7、Firefox兼容