1、僅IE7與IE5.0可以識別
*+html select {…}
當面臨需要只針對IE7與IE5.0做樣式的時候就可以采用這個HACK。
2、僅IE7可以識別
*+html select {…!important;}
當面臨需要只針對IE7做樣式的時候就可以采用這個HACK。
3、IE6及IE6以下識別
* html select {…}
這個地方要特別注意很多博客都寫成了是IE6的HACK其實IE5.x同樣可以識別這個HACK。其它浏覽器不識別。
4、html/**/ >body select {…}
html/**/ >body select {…}
這句與上一句的作用相同。
5、僅IE6不識別,屏蔽IE6
select { display /*屏蔽IE6*/:none;}
這裏主要是通過CSS注釋分開一個屬性與值,注釋在冒號前。
6、僅IE6與IE5不識別,屏蔽IE6與IE5
select/**/ { display /*IE6,IE5不識別*/:none;}
這裏與上面一句不同的是在選擇符與花括號之間多了一個CSS注釋。不屏蔽IE5.5
7、僅IE5不識別,屏蔽IE5
select/*IE5不識別*/ {…}
這一句是在上一句中去掉了屬性區的注釋。只有IE5不識別,IE5.5可以識別。
8、盒模型解決方法
selct {width:IE5.x寬度; voice-family :」\」}\」"; voice-family:inherit; width:正確寬度;}
盒模型的清除方法不是通過!important來處理的。這點要明確。
9、只有Opera識別
@media all and (min-width: 0px){ select {……} }
針對Opera浏覽器做單獨的設定。
以上都是寫CSS中的一些HACK,這些都是用來解決局部的兼容性問題,如果希望把兼容性的內容也分離出來,不妨試一下下面的幾種過濾器。這些過濾器有的是寫在CSS中通過過濾器導入特別的樣式,也有的是寫在HTML中的通過條件來鏈接或是導入需要的補丁樣式。
10、IE5.x的過濾器,只有IE5.x可見
@media tty {
i{content:」\」;/*」 「*/}} @import 『ie5win.css』; /*」;}
}/* */
11、IE5/MAC的過濾器,一般用不著
/*\*//*/
@import 「ie5mac.css」;
/**/
12、IE的if條件Hack
<!--[if IE]> Only IE <![endif]--> 所有的IE可識別
<!--[if IE 5.0]> Only IE 5.0 <![endif]--> 只有IE5.0可以識別
<!--[if gt IE 5.0]> Only IE 5.0+ <![endif]--> IE5.0包換IE5.5都可以識別
<!--[if lt IE 6]> Only IE 6- <![endif]--> 僅IE6可識別
<!--[if gte IE 6]> Only IE 6/+ <![endif]--> IE6以及IE6以下的IE5.x都可識別
<!--[if lte IE 7]> Only IE 7/- <![endif]--> 僅IE7可識別
你在寫css時樣式表加上浏覽器標識符就行了,各浏覽器區別如下:
IE都能識別*,標准浏覽器(如FF)不能識別*;
IE6能識別*,但不能識別 !important;
IE7能識別*,也能識別 !important;
FF不能識別*,但能識別 !important;
例如style=」*width:10px;!important width:20px;」
這樣在IE6下寬度爲10px,在IE7下寬度時20px
最新的CSS兼容方案,讓你的樣式完美兼容各大浏覽器,這個方案主要是用來解決Safari的,Opear是在測試的時候順帶試了一下,結果發現竟然也行,所以順便也解決了。
.e {/*FF OP*/
background-color: #FF0000
}
html* .e{/*Sa IE7 OP*/
background-color:#FF00FF
}
*+html .e{
background-color:#000000;/*OP*/
*background-color:#0000FF;/*IE7*/
}
* html .e{/*IE6*/
background-color:#00FFFF
}
經FF2、OP9.21、OP9.10、Sa3.0.3(pc)、IE7、IE6測試通過,如果你在其他的浏覽器版本上測試過,需要注意的是:IE7對樣式的解釋跟DTD是有關,在沒有DTD的時候,IE7是能讀取IE6的hack的
一個完全css 做的滑動菜單。
Code:aa.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標題文檔</title>
<style>
body{margin:0px;}
#menu{font-size:12px;position:relative;}
#menu ul{ list-style:none;}
#menu ul li{float:left;position:relative;}
#menu a{ display:block;padding:2px 10px;margin:3px;border:1px solid #aaa;background:#cacaca;color:#fff;text-decoration:none;}
#menu a:hover{background:#fafafa;color:#000;border:1px solid #000;}
#menu ul ul{position:absolute;left:3px;top:23px;visibility:hidden;}
#menu ul a:hover ul{visibility:visible;}
#menu ul ul li a{display:block;width:100px;height:15px;margin:0;border:0;border-bottom:1px solid #858585;}
#menu ul ul li{clear:both;text-align:left;font-size:12px;}
#menu ul ul li a:hover{border:0;background:#fafafa;border-bottom:1px solid #fff;}
#menu table {position:absolute; top:0; left:0;}
*{margin:0px;}
</style>
</head>
<body>
<div>
<span id="menu">
<ul>
<li><a href="#">首頁
<!--[if IE 7]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]-->
<ul>
<li><a href="#">內容</a></li>
<li><a href="#">文本</a></li>
</ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>
<li><a href="#">分類
<!--[if IE 7]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]-->
<ul>
<li><a href="#">內容</a></li>
<li><a href="#">文本</a></li>
</ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>
</ul>
</span>
<div>
</body>
</html>
1、僅IE7與IE5.0可以識別
*+html select {…}
當面臨需要只針對IE7與IE5.0做樣式的時候就可以采用這個HACK。
2、僅IE7可以識別
*+html select {…!important;}
當面臨需要只針對IE7做樣式的時候就可以采用這個HACK。
3、IE6及IE6以下識別
* html select {…}
這個地方要特別注意很多博客都寫成了是IE6的HACK其實IE5.x同樣可以識別這個HACK。其它浏覽器不識別。
4、html/**/ >body select {…}
html/**/ >body select {…}
這句與上一句的作用相同。
5、僅IE6不識別,屏蔽IE6
select { display /*屏蔽IE6*/:none;}
這裏主要是通過CSS注釋分開一個屬性與值,注釋在冒號前。
6、僅IE6與IE5不識別,屏蔽IE6與IE5
select/**/ { display /*IE6,IE5不識別*/:none;}
這裏與上面一句不同的是在選擇符與花括號之間多了一個CSS注釋。不屏蔽IE5.5
7、僅IE5不識別,屏蔽IE5
select/*IE5不識別*/ {…}
這一句是在上一句中去掉了屬性區的注釋。只有IE5不識別,IE5.5可以識別。
8、盒模型解決方法
selct {width:IE5.x寬度; voice-family :」\」}\」"; voice-family:inherit; width:正確寬度;}
盒模型的清除方法不是通過!important來處理的。這點要明確。
9、只有Opera識別
@media all and (min-width: 0px){ select {……} }
針對Opera浏覽器做單獨的設定。
以上都是寫CSS中的一些HACK,這些都是用來解決局部的兼容性問題,如果希望把兼容性的內容也分離出來,不妨試一下下面的幾種過濾器。這些過濾器有的是寫在CSS中通過過濾器導入特別的樣式,也有的是寫在HTML中的通過條件來鏈接或是導入需要的補丁樣式。
10、IE5.x的過濾器,只有IE5.x可見
@media tty {
i{content:」\」;/*」 「*/}} @import 『ie5win.css』; /*」;}
}/* */
11、IE5/MAC的過濾器,一般用不著
/*\*//*/
@import 「ie5mac.css」;
/**/
12、IE的if條件Hack
<!--[if IE]> Only IE <![endif]--> 所有的IE可識別
<!--[if IE 5.0]> Only IE 5.0 <![endif]--> 只有IE5.0可以識別
<!--[if gt IE 5.0]> Only IE 5.0+ <![endif]--> IE5.0包換IE5.5都可以識別
<!--[if lt IE 6]> Only IE 6- <![endif]--> 僅IE6可識別
<!--[if gte IE 6]> Only IE 6/+ <![endif]--> IE6以及IE6以下的IE5.x都可識別
<!--[if lte IE 7]> Only IE 7/- <![endif]--> 僅IE7可識別
你在寫css時樣式表加上浏覽器標識符就行了,各浏覽器區別如下:
IE都能識別*,標准浏覽器(如FF)不能識別*;
IE6能識別*,但不能識別 !important;
IE7能識別*,也能識別 !important;
FF不能識別*,但能識別 !important;
例如style=」*width:10px;!important width:20px;」
這樣在IE6下寬度爲10px,在IE7下寬度時20px
最新的CSS兼容方案,讓你的樣式完美兼容各大浏覽器,這個方案主要是用來解決Safari的,Opear是在測試的時候順帶試了一下,結果發現竟然也行,所以順便也解決了。
.e {/*FF OP*/
background-color: #FF0000
}
html* .e{/*Sa IE7 OP*/
background-color:#FF00FF
}
*+html .e{
background-color:#000000;/*OP*/
*background-color:#0000FF;/*IE7*/
}
* html .e{/*IE6*/
background-color:#00FFFF
}
經FF2、OP9.21、OP9.10、Sa3.0.3(pc)、IE7、IE6測試通過,如果你在其他的浏覽器版本上測試過,需要注意的是:IE7對樣式的解釋跟DTD是有關,在沒有DTD的時候,IE7是能讀取IE6的hack的
一個完全css 做的滑動菜單。
Code:aa.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url=http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="[url=http://www.w3.org/1999/xhtml]http://www.w3.org/1999/xhtml[/url]">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標題文檔</title>
<style>
body{margin:0px;}
#menu{font-size:12px;position:relative;}
#menu ul{ list-style:none;}
#menu ul li{float:left;position:relative;}
#menu a{ display:block;padding:2px 10px;margin:3px;border:1px solid #aaa;background:#cacaca;color:#fff;text-decoration:none;}
#menu a:hover{background:#fafafa;color:#000;border:1px solid #000;}
#menu ul ul{position:absolute;left:3px;top:23px;visibility:hidden;}
#menu ul a:hover ul{visibility:visible;}
#menu ul ul li a{display:block;width:100px;height:15px;margin:0;border:0;border-bottom:1px solid #858585;}
#menu ul ul li{clear:both;text-align:left;font-size:12px;}
#menu ul ul li a:hover{border:0;background:#fafafa;border-bottom:1px solid #fff;}
#menu table {position:absolute; top:0; left:0;}
*{margin:0px;}
</style>
</head>
<body>
<div>
<span id="menu">
<ul>
<li><a href="#">首頁
<!--[if IE 7]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]-->
<ul>
<li><a href="#">內容</a></li>
<li><a href="#">文本</a></li>
</ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>
<li><a href="#">分類
<!--[if IE 7]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]-->
<ul>
<li><a href="#">內容</a></li>
<li><a href="#">文本</a></li>
</ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>
</ul>
</span>
<div>
</body>
</html>