css兼容性問題總結

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  這個是經典就不說了。

相關文章
相關標籤/搜索