造成DIV CSS網頁布局錯位的原因大概有兩種情況,一種是寬度計算錯誤,一種是IE BUG造成,特別是IE6和IE7。接下來我們挨著為大家介紹錯位與解決錯位方法。
寬度計算錯誤,假如總寬度為500px,有3個盒子,分別css寬度為200px、200px、100px,這個沒問題會在一排顯示不會錯位,但如果加入了css邊框、padding、margin屬性時,別忘記這幾個屬性所占的寬度。特別是padding與邊框border占用寬度空間不要忽略了。如果有一個盒子加入左右邊框,這個時候有一個盒子中剛合適的寬度條件下減少2px邊框占用寬度,否則即會總3個盒子合計寬度大于了總寬度,造成錯位。
這個問題是最常見的問題,我們檢查完第一點寬度問題,而寬度沒問題,這個時候在IE6、IE7中錯位,在IE8及其它瀏覽器沒有錯位問題,這個時候我們就要考慮到你是否使用了margin屬性,通常我們使用了CSS浮動(css float)情況下使用margin(margin-right margin-left這里特別是這個屬性)此屬性會產生雙倍數值,這個時候我們需要使用css hack解決此問題。讓IE6或IE7單獨識別特指定margin樣式。
如:
1、IE6單獨識別(margin-left對于只有IE6錯位情況下)
{margin-left:5px;_margin-left:2px}
這個時候除IE6外其它瀏覽器設別margin-left:5px,IE6單獨識別_margin-left:2px
2、IE7與IE6都識別(margin-left對于ie6和ie7識別其它版本和品牌瀏覽器不設別)
{margin-left:5px;*margin-left:2px;}
這個時候除IE6和IE7外,其它瀏覽器設別margin-left:5px,IE6和IE7識別*margin-left:2px
更多CSS HACK知識大家可進入CSS HACK欄目了解更多相關知識。
以為為大家總結了常見網頁錯位原因,大家從這以上兩方面入手檢查CSS布局網頁錯位原因。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com