萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> CSS浏覽器兼容性Hack大全

CSS浏覽器兼容性Hack大全

  IE6/7實現display:inline-block

  有兩種方法,第一種,先聲明該元素display:inline-block,觸發其layout,再在第二條樣式上再聲明為display:inline,如:

  代碼如下:

  .test{display:inline-block; /*其他樣式...*/}

  .test{display:inline;}

  第二種方法(推薦),利用IE6/7的Css專有前綴來觸發layout(感覺怎麼有點像js的setTimeout):

  代碼如下:

  .test{display:inline-block; *zoom: 1; *display: inline;}

  IE6雙倍浮動行距

  在IE6下,當一個div在另一個div向左浮動,並且帶有margin-left的樣式,那麼這時它的左邊距是樣式定義的雙倍,同理如果是向右浮動和margin-right,效果是一樣的。不過在此後浮動的div的邊距反倒是沒問題的,只是第一個有此問題。

  這時,解決的方法是:簡單給該div加個_display:inline;樣式即可

  IE6-IE10的css hack

  代碼如下:

  p{

  color: black; /*IE10*/

  color: orange; /*IE8,IE9*/

  *color: blue; /*IE6,IE7*/

  _color: red; /*IE6*/

  }

  :root p{

  color: yellow; /*IE9*/

  }

  IE7/8下PNG圖片背景有黑色的東西

  那是因為你使用了濾鏡效果,比如filter:alpha(opacity=100);,把它去掉就可以了

  IE7/8下元素無故消失、看不見、點擊不了

  在其他浏覽器明明是有東西的,但來到IE7/8就無故消失了。出現這種情況,你試下給該元素添加background:red;或者之前是去掉文字的text-indent:-9999em; font-size:0;的,改為font-size:18px; text-indent:0;,你就會發現消失的元素終於又出現了。對於這種方法,解決方法是,在IE7/8下,給該元素添加背景色。但同時你不想讓該元素可視,那麼就加上 opacity:0; filter:alpha(opacity=0);

  IE7/8下樣式載入不完全

  那應該是css文件的charset聲明和文件本身的編碼不一致問題,將這個改正一下即可。

 

  暫時先記錄這些吧,以後遇到了再繼續更新,小伙伴們也可以搜集一下,發給我,本文持續更新

copyright © 萬盛學電腦網 all rights reserved