學習CSS網頁佈局時排查錯誤的方法

來源:互聯網
上載者:User
關鍵字 網頁製作 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是否正確,還可以動態顯示頁面內元素的框和位置,是調試網頁很好的輔助外掛程式。
  2. 是否有合適的DTD
  在本書的其他章節裡,曾經不止一次地強調過DOCTYPE的重要性,不同的DOCTYPE直接影響瀏覽器對於(X)HTML和CSS的解釋。
  3. CSS屬性瀏覽器是否支援
  雖然現代瀏覽器支援絕大部分的CSS 2.1規範和部分的CSS 3規範,但是在前面的章節也介紹過,有一些CSS屬性還沒有被瀏覽器廣泛支援,因此在某個屬性沒有生效的時候, 請確定瀏覽器是否支援。
  4. 隔離問題
  將有問題的地方突出出來,例如給元素加一個醒目的邊框或者背景顏色。
  如果增加了邊框就可以解決問題,那麼就是邊距重疊的問題。
  如果增加了背景,但是背景不顯示,那麼有可能是特殊性或者浮動元素沒有閉合。
  嘗試修改一些屬性,特別是會觸發IE的hasLayout的屬性,判斷是否是IE常見的Bug。
  5. 建立基本測試
  如果還不能解決問題,則可以複製問題檔,然後刪除多餘的(X)HTML,只留下有問題的部分。
  刪除(X)HTML內的注釋問題,看問題是否會消失。
  刪除元素間的空格,看問題是否會消失。
  然後分塊注釋掉樣式表,直到問題消失,則剛注釋掉的樣式即為問題所在。
  6. 解決問題而不是解決現象
  找到問題根源的所在並解決它是最終目,而不是為了遷就表現而使用複雜的Hack來讓網頁「看上去很美」。 不從根源上解決問題,當瀏覽器升級以後,可能會遇到更多的問題。 同時,Hack的時候可能會造成新的問題的出現,特別是觸發或者避免觸發IE的hasLayout屬性。
  換一種思路也許也可以避免問題的出現,例如將元素的margin屬性取消,改為設置其父元素的padding屬性。
  只有實在無法解決的時候,再使用Hack。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.