CSS瀏覽器兼容性Hack大全

字號:


    IE6/7實現(xiàn)display:inline-block
    有兩種方法,第一種,先聲明該元素display:inline-block,觸發(fā)其layout,再在第二條樣式上再聲明為display:inline,如:
    代碼如下:
    .test{display:inline-block; /*其他樣式...*/}
    .test{display:inline;}
    第二種方法(推薦),利用IE6/7的Css專有前綴來觸發(fā)layout(感覺怎么有點像js的setTimeout):
    代碼如下:
    .test{display:inline-block; *zoom: 1; *display: inline;}
    IE6雙倍浮動行距
    在IE6下,當一個div在另一個div向左浮動,并且?guī)в衜argin-left的樣式,那么這時它的左邊距是樣式定義的雙倍,同理如果是向右浮動和margin-right,效果是一樣的。不過在此后浮動的div的邊距反倒是沒問題的,只是第一個有此問題。
    這時,解決的方法是:簡單給該div加個_display:inline;樣式即可
    IE6-IE10的css hack
    代碼如下:
    p{
    color: black; /*IE10*/
    color: orange\0; /*IE8,IE9*/
    *color: blue; /*IE6,IE7*/
    _color: red; /*IE6*/
    }
    :root p{
    color: yellow\0; /*IE9*/
    }
    IE7/8下PNG圖片背景有黑色的東西
    那是因為你使用了濾鏡效果,比如filter:alpha(opacity=100);,把它去掉就可以了
    IE7/8下元素無故消失、看不見、點擊不了
    在其他瀏覽器明明是有東西的,但來到IE7/8就無故消失了。出現(xiàn)這種情況,你試下給該元素添加background:red;或者之前是去掉文字的text-indent:-9999em; font-size:0;的,改為font-size:18px; text-indent:0;,你就會發(fā)現(xiàn)消失的元素終于又出現(xiàn)了。對于這種方法,解決方法是,在IE7/8下,給該元素添加背景色。但同時你不想讓該元素可視,那么就加上 opacity:0; filter:alpha(opacity=0);
    IE7/8下樣式載入不完全
    那應(yīng)該是css文件的charset聲明和文件本身的編碼不一致問題,將這個改正一下即可。