XHTML+CSS兼容性解決方案小集

2010-08-28 10:54:03來源:西部e網(wǎng)作者:

使用XHTML+CSS構(gòu)架好處不少,但也確實(shí)存在一些問題,不論是因?yàn)槭褂貌皇炀氝是思路不清晰,我就先把一些我遇到的問題寫在下面,省的大家四處找。

1.在mozilla firefox和IE中的BOX模型解釋不一致導(dǎo)致相差2px解決方法:

div{margin:30px!important;margin:28px;}

注意這兩個(gè)margin的順序一定不能寫反,據(jù)阿捷的說法!important這個(gè)屬性IE不能識(shí)別,但別的瀏覽器可以識(shí)別。所以在IE下其實(shí)解釋成這樣:

div{maring:30px;margin:28px}

重復(fù)定義的話按照最后一個(gè)來執(zhí)行,所以不可以只寫margin:XXpx!important;

2.IE5和IE6的BOX解釋不一致IE5下div{width:300px;margin:0 10px 0 10px;}div的寬度會(huì)被解釋為300px-10px(右填充)-10px(左填充)最終div的寬度為280px,而在IE6和其他瀏覽器上寬度則是以300px+10px(右填充)+10px(左填充)=320px來計(jì)算的。這時(shí)我們可以做如下修改:

div{width:300px!important;width  /**/:340px;margin:0  10px  0  10px}

關(guān)于這個(gè)/**/是什么我也不太明白,只知道IE5和firefox都支持但I(xiàn)E6不支持,如果有人理解的話,請(qǐng)告訴我一聲,謝了。海

3.ul標(biāo)簽在Mozilla中默認(rèn)是有padding值的,而在IE中只有margin有值所以先定義:

ul{margin:0;padding:0;}

就能解決大部分問題。

4.關(guān)于腳本,在xhtml1.1中不支持language屬性,只需要把代碼改為:

就可以了。

5.如果你在BOX容器里使float和text-align的方向設(shè)為一致:

{float:left;text-align:left;margin:0 0 0 200px;}

我們可做如下修改:

{float:left;text-align:left;margin:0 0 0 200px;display:inline;}

關(guān)鍵詞:CSS