1.先謹記如下規則,但不推薦使用hack.css
全部瀏覽器通用(市面上主要用到的IE6IE7FF) height:100px;html
IE6專用 _height:100px;瀏覽器
IE6專用 *height:100px;安全
IE7專用 *+height:100px;app
IE七、FF共用 height:100px!important;firefox
2.CSS兼容
如下兩種方法幾乎能解決現今全部兼容.htm
(1)!important(不是很推薦,用下面的一種感受最安全)
隨着IE7對!important的支持,!important方法如今只針對IE6的兼容.(注意寫法.記得該聲明位置須要提早.)
代碼:
<style>
#wrapper{
width:100px!important; /*IE7+FF*/ 火狐 IE7瀏覽時是寬100px;
width:80px; /*IE6*/ IE6瀏覽時是寬80px;
}
</style>it
(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>io
注意:
*+html對IE7的兼容必須保證HTML頂部有以下聲明:
代碼:
<!DOCTYPE HTML PUBLIC「-//W3C//DTD HTML4.01 Transitional//EN」」http://www.w3.org/TR/html4/loose.dtd「>import
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.貼上代碼: 八、IE6的雙倍邊距BUG <styletype=」text/css」> body{margin:0} div{float:left;margin-left:10px;;height:200px;border:1pxsolidred} </style> 浮動後原本外邊距10px,但IE解釋爲20px,解決辦法是加上display:inline 這個是經典就不說了。