DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> 學CSS網頁布局排查錯誤的方法
學CSS網頁布局排查錯誤的方法
編輯:CSS詳解     

雖然浏覽器可能存在著很多Bug,但是並不是與自己感覺不一樣的時候就是出現了Bug。產生問題的原因可能有很多種,因此制作者需要一定的方法來排查問題。

選擇一個先進的浏覽器進行測試是明智的做法,例如對CSS 2.1支持比較好的Opera 9.2、Firefox 2.0或者Safari 3.0,而不要使用IE 6作為唯一的測試浏覽器,因為IE 6的問題是最多的,這非常不利於制作者(特別是初學者)理解CSS 2.1的規范與判斷浏覽器的表現是否正確。

如果在先進的浏覽器內測試是正確的,而在IE內有問題,那基本上可以判定是IE的問題。

如果在先進的浏覽器內的顯示不正確,那麼可以先進行如下初步判斷:

1. 拼寫是否正確

可以使用W3C的校驗,或者網頁編輯軟件的校驗功能,來檢查(X)Html文檔內的標簽是否配套、嵌套順序是否正確、空標簽是否閉合,CSS拼寫是否正確。不正確的嵌套、錯誤的拼寫是非常常見的錯誤。

提示:現在有很多編輯軟件都可以提供(X)Html和CSS的校驗功能,包括浏覽器對CSS屬性是否支持等。例如:Dreamweaver 8以上版本,TopStyle等軟件。

提示:Firefox中的附加軟件“Firebug”是一個非常好用的工具,它不僅可以檢查(X)Html、CSS和JavaScript是否正確,還可以動態顯示頁面內元素的框和位置,是調試網頁很好的輔助插件。讀者可以訪問它的官方網站下載:http://www.getfirebug.com/(英文)

2. 是否有合適的DTD

在本書的其他章節裡,曾經不止一次地強調過DOCTYPE的重要性,不同的DOCTYPE直接影響浏覽器對於(X)Html和CSS的解釋。

3. CSS屬性浏覽器是否支持

雖然現代浏覽器支持絕大部分的CSS 2.1規范和部分的CSS 3規范,但是在前面的章節也介紹過,有一些CSS屬性還沒有被浏覽器廣泛支持,因此在某個屬性沒有生效的時候,請確定浏覽器是否支持。

4. 隔離問題

將有問題的地方突出出來,例如給元素加一個醒目的邊框或者背景顏色。

如果增加了邊框就可以解決問題,那麼就是邊距重疊的問題。

如果增加了背景,但是背景不顯示,那麼有可能是特殊性或者浮動元素沒有閉合。

嘗試修改一些屬性,特別是會觸發IE的hasLayout的屬性,判斷是否是IE常見的Bug,讀者可以參見[16.4.3 浏覽器常見Bug]一節。

5. 建立基本測試

如果還不能解決問題,則可以復制問題文件,然後刪除多余的(X)Html,只留下有問題的部分。

刪除(X)Html內的注釋問題,看問題是否會消失。

刪除元素間的空格,看問題是否會消失。

然後分塊注釋掉樣式表,直到問題消失,則剛注釋掉的樣式即為問題所在。

6. 解決問題而不是解決現象

找到問題根源的所在並解決它是最終目,而不是為了遷就表現而使用復雜的Hack來讓網頁“看上去很美”。不從根源上解決問題,當浏覽器升級以後,可能會遇到更多的問題。同時,Hack的時候可能會造成新的問題的出現,特別是觸發或者避免觸發IE的hasLayout屬性。

換一種思路也許也可以避免問題的出現,例如將元素的margin屬性取消,改為設置其父元素的padding屬性。

只有實在無法解決的時候,再使用Hack。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved