1.先謹記以下規則,但不推薦使用hack.
所有瀏覽器通用(市面上主要用到的IE6IE7FF) height:100px;
IE6專用 _height:100px;
IE6專用 *height:100px;
IE7專用 *+height:100px;
IE7、FF共用 height:100px!important;
2.CSS兼容
以下兩種方法幾乎能解決現今所有兼容.
(1)!important(不是很推薦,用下面的一種感覺最安全)
隨着IE7對!important的支持,!important方法現在只針對IE6的兼容.(注意寫法.記得該聲明位置需要提前.)
代碼:
<style>
#wrapper{
width:100px!important; /*IE7+FF*/ 火狐 IE7瀏覽時是寬100px;
width:80px; /*IE6*/ IE6瀏覽時是寬80px;
}
</style>
(2)IE6/IE77對FireFox<from針對firefoxie6ie7的css樣式>
*+html與*html是IE特有的標籤,firefox暫不支持.而*+html又為IE7特有標籤. *上面第一點指明
代碼:
<style>
#wrapper{width:120px;}/*FireFox*/
*html#wrapper{width:80px;}/*ie6fixed*/
*+html#wrapper{width:60px;}/*ie7fixed,注意順序*/
</style>
注意:
*+html對IE7的兼容必須保證HTML頂部有如下聲明:
代碼:
<!DOCTYPE HTML PUBLIC“-//W3C//DTD HTML4.01 Transitional//EN””http://www.w3.org/TR/html4/loose.dtd“>
3.其他兼容技巧(相當有用)
1,FF下給div設置padding後會導致width和height增加,但IE不會.(可用!important解決)
2,居中問題.
1).垂直居中.將line-height設置為當前div相同的高度,再通過vetical-align:middle.(注意內容不要換行.)
2).水平居中.margin:0auto;(當然不是萬能) 雖然不是萬能但見識有限,未能知道那個瀏覽器不適合此方法,知道的朋友指教!
3,若需給a標籤內內容加上樣式,需要設置display:block;(常見於導航標籤,本人嘗試過錯誤,padding如何設置padding-left都無效,其實原理就是使a標籤像div一樣以塊元素定義)
4,FF和IE對BOX理解的差異導致相差2px的還有設為float的div在ie下margin加倍等問題.
5,ul標籤在FF下面默認有list-style和padding.最好事先聲明,以避免不必要的麻煩.(常見於導航標籤和內容列表)(好的習慣是文件開頭設置好)*{margin:0;padding:0;} *不提倡這樣用,各個寫明好點。
6,作為外部wrapper的div不要定死高度,最好還加上overflow:hidden.以達到高度自適應.(自適應高度本人習慣使用:尾部添加<div style="clear:both;">)
7,關於手形光標.cursor:pointer.而hand只適用於IE.貼上代碼:
8、IE6的雙倍邊距BUG
<styletype=”text/css”>
body{margin:0}
div{float:left;margin-left:10px;;height:200px;border:1pxsolidred}
</style>
浮動後本來外邊距10px,但IE解釋為20px,解決辦法是加上display:inline 這個是經典就不説了。