1、讓你想當然,給你點顏色看看
這個問題其實被很多人忽略,小到個人站點,大到門戶網站都有可能犯這個錯誤。不信想想看,如果你所做的網站背景是白色的,那么你還會記得在CSS 里寫下Background-color:#ffffff這句代碼嗎?我敢打賭,大部分人不會!并不是因為大家偷懶,而是這個舉手之勞被徹底忽略了,為什么?因為我們所用的Windows操作系統在大多數的情況下,運行在其上的各種軟件的默認背景色是白色,這其中就包括IE瀏覽器,所以在網站背景是白色的條件下,許多的網頁制作者就想當然的忽略了關于背景色的設置,反正大家都是白色,不設的話也看不出來。但是不要忘記了,Windows從XP開始支持系統主題的更換,有很多第三方的主題會更改系統默認的設置,其中就包括背景色的設置,如果沒有強制設定頁面中的背景色,那么頁面就會以當前瀏覽器的背景色來顯示內容,其結果就是網站美觀性被大大的降低,拿大家都熟悉的網易來舉例,下面的截圖是在我機子上瀏覽時的樣子,由于前不久換了一套Vista 的主題風格,所以瀏覽器的背景色變成了淺灰色。
仔細看看網易的 Logo ,看出來嗎?對,那個Logo的背景是白色的,但旁邊的背景色卻是灰色的,換句話說就是網易整個頁面的背景原定就是白色的,這在瀏覽器背景為白色的前提下是看不出什么來的,但是像現在這樣就“漏餡”了。不光是網易,許多的門戶站都是這樣,具體我就不去舉例了,可見關于Background-color設定的重要性。所以,不論你的網站是什么樣的背景色,請一點記住把它設定好,哪怕它是白色!
2、左對齊
大家都知道 Table 的默認水平對齊方式(align)為左對齊,設 align="left"和不設其效果是一樣的,于是很多人不去設置這個屬性,我以前也是如此。但是在某些特殊的情況下,IE會把默認的左對齊理解為居中對齊,從而導致頁面的排版出現問題,雖然說具體是什么情況下會出問題連我自己都說不清楚,但是這種情況絕對存在,所以大家在做頁面的時候一定要習慣性的設置表格的align屬性,不要偷懶跳過這步,對頁面的表現來說,這所謂的多此一舉絕對有益無害。
3、單元格寬度-隱形殺手
不知你有沒有遇見過這種情況,假設當你給一個單元格的align設置了左對齊后,卻發現放在單元格中的文字并沒有應用該屬性的效果,反而繼續是居中顯示,查看文字兩端也并沒有發現任何垃圾代碼包含其中,可是無論如何都改變不了文字的位置。郁悶嗎?反正當時我是很郁悶,直到后來,我才發現原來是單元格的Width屬性在作怪,將其刪除或重新設置后問題得到解決,所以,當你也遇到同樣的問題時,不妨檢查一下出問題單元格的 Width設置,相信你會找到解決的方法。
4、打死滾動條都不消失
有時為了一些個性化的需要,有些人喜歡將瀏覽器的滾動條隱藏掉,這個效果做起來很容易,但是有時會發現明明代碼一點問題沒有,而且查看用的瀏覽器也不是非IE內核型的,但可惡的滾動條就是不消失!而且這個問題很多都出現在用DW等可視化編輯軟件制作出的網頁上。那原因是什么呢?其實原因就在該頁面的頭部代碼里,查看該頁面的源代碼,你會發現在最上邊有類似這樣的兩句代碼:"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
這兩句代碼叫做 DOCTYPE 聲明,是 Document Type(文檔類型)的簡寫,用來說明你用的 XHTML 或者HTML是什么版本。簡單點說這兩句代碼是制作標準化頁面所必不可少的關鍵組成部分,瀏覽器就是根據你定義的文檔類型來解釋你頁面的標識,并展現出來的。換句話說,如果你定義了一個錯誤的DOCTYPE,那么你的標識和 CSS都不會生效。而定義滾動條顯示與否的overflow、overflow-x、overflow-y這三個屬性恰恰沒有被網頁標準所采納,所以如果你的頁面上方定義過DOCTYPE,那么這三個屬性便是無效代碼了,解決方法就是刪除頭部的DOCTYPE聲明,雖然在標準日益普及的今天不推薦這么做。
5、都是注釋惹的禍
為代碼寫注釋是個好習慣,但是有時也會出現一些問題,例如為 CSS 寫中文注釋。如果你為自己定義的CSS寫了中文注釋,那么在一些特殊情況下(例如服務器端的支持,頁面所用的程序類型等)會導致部分代碼無故失效,這種情況我遇見好幾回了,所以在技術上沒解決這個問題之前,還是不要為CSS寫注釋的好,養成良好的命名習慣足以讓其它人看懂自己代碼的意義,即使一定要寫,也請用英文寫。
其實這些問題都不是什么了不起的大問題,但往往越是小問題才越容易被人忽略,希望上面這些經驗教訓對你能有所幫助,哪怕有一個人從中收益就不枉我羅哩羅嗦這么半天了。