普通的一個頁面無非就是HTML以及CSS和JS等腳本組成,相對以前來說,大家都是用表格(table)來實現頁面的布局,而現在呢,追求的是用層(div)來布局了。很多朋友說用層(div)布局跟用表格(table)布局的差別很大,這個我同意,因為表格(table)是用來體現二維數據的。但是既然我們以前能用,而且一直在用,也就說明表格(table)布局還是可以的。但是為什麼我們現在要用用層(div)來布局呢?因為我們要讓Html的每個標簽都能在語義上很好的體現出來,即使看源代碼也能很明了它的作用。
想想以前,什麼CSS樣式、什麼Html代碼都不管,只要能在FrontPage或者DreamWeaver上制作出頁面上要體現的效果就可以了。而現在呢,大家放棄了FrontPage,為什麼?因為FrontPage會產生很多無用的代碼,影響代碼的可讀性。既然注重到了這點,那麼現在的重構,標准,是為了什麼呢,還不是為了在代碼上的一個可讀性嗎?
都說重構後的站是要把表現和結構分離,那把所有表現跟結構都分離就完事了嗎?不!我們還要把表現的內容利用,而且是反復利用,不是用過一次就不要了。假如把要表現的內容當做一次性筷子用過一次後就不要了,那重構你的站點似乎意義不大,反而讓你的樣式文件變多變大。要把表現的內容反復利用起來,在結構上要做的事情也將影響到樣式的調用,而且假如能將每個結構的語義用很貼切的標簽來體現,那對源代碼的可讀性也是一個很大的提升。
曾經看過一位朋友重構後的站點,他是一個 將頁面所有的內容都包含在裡面,當時我就在想,這樣做有什麼意義呢?是不是跟當初的用一個 將頁面的所有內容包含在裡面一樣呢?這樣做並不是說不可以,也並沒有錯,只是我們在結構上並不需要這樣做,不是嗎?一般最常見的是上(頭部)中(內容)下(版權信息)三個部分,相對這樣的,我們可以用三個 來實現。
<div id=”pageTop”></div> <div id=”pageContent”></div> <div id=”pageBottom”></div>
相對這樣來說,總比 一個大大的框來約束內容來得強。
最後要說一下的就是,現在浏覽器不統一,支持的內容不同,雖然我們可以用hack的方法來實現我們要的東西,不過我們為什麼不稍做點犧牲呢。假如對版面的影響不大的話,是否可以放棄使用hack的方法呢?難道你的客戶會去用不同的浏覽器看看效果做對比嗎?hack用得多了,只會對後期的修改上帶來麻煩。