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