DIV與TABLE本身并不存在什么優(yōu)缺點,所謂web標準只是推薦的是正確的使用標簽,好比說:DIV用于布局,而TABLE則本來就是轉二維數(shù)據(jù)的。讓TABLE做該做的事,并不是說頁面里不出現(xiàn)TABLE就是多么多么牛。
用DIV進行排版的優(yōu)勢就是我不說,大家應該都比較清楚。DIV是標準,是大勢所趨,但并不意味著所有的頁面都適合用它來做。
中國的門戶和國外的有很大的區(qū)別,中國網(wǎng)民并不喜歡信息量少的頁面,YAHOO到了中國頁面上的內容就多了不少,而上次改為簡潔的頁面后訪問量下降的厲害以至于沒過幾天就又改了回來。正式由于中國的國情造就了搜狐、新浪這樣門戶。
為什么DIV不適合他們?下面我從幾個方面來逐一說明:
精簡代碼:
大家都說DIV的布局精簡代碼,但是用DIV替代TABLE所節(jié)約的代碼又被CSS(樣式)所占用,而這些樣式大多用于控制DIV的排版布局。那你會說了,CSS可以放在外部重用啊,要想得到這個問題的答案請往下看。
重用性與下載量:
統(tǒng)一使用一個.css的樣式表文件,可以實現(xiàn)修改一次,全站修改的效果,這樣使得維護的成本更低。但是請大家換一個角度想,如果所有頁面在加載時都要訪問一個文件,那這個文件每天的下載量,特別時在搜狐、新浪的網(wǎng)站平臺上將達到幾億次,這就需要后面有很多臺前端web服務器在做支撐,那后臺的成本無形中也提高了很多。如果后臺支撐沒有做好,那么頁面就會出現(xiàn)花屏,之前所作的工作也是白費。很多人會問,這樣的幾率太小了。我們所作的工作就是為了避免這一兩次意外的發(fā)生,如果意外發(fā)生了,對于門戶后果將是不堪設想的。
HTTP通訊:
統(tǒng)一的樣式表文件采用外部調用的形式,這樣每次加載單個頁面都會多一次對服務器的http請求服務器都會增加一次響應,這樣對前端web服務器會是很大的消耗。而原來很長時間都是將css和js寫在頁面前端(大家可以看看sohu和sina的頁面,大多都是采用這樣的形式),而不是作為外部調用的形式,也是為了盡量避免給服務器增加消耗。
頁面緩存:
每次用戶訪問的頁面,都會在瀏覽器緩存中保存一定時間,以保證用戶下次再訪問該頁面時能夠大大提高頁面顯示速度。而每次修改都會使頁面重新下載,對于每個外部導入的樣式文件也是如此,如果CSS文件修改,那么訪問網(wǎng)站的每一個頁面都會重新下載,而以往的將樣式寫在頁面中的方式,只是修改的頁面需要重新下載。
兼容性:
對于CSS(樣式表)并不是所有瀏覽器的所有版本都支持的很好,比如IE5以前的瀏覽器對于CSS的支持就不是很好。而現(xiàn)在使用IE5以前版本瀏覽器的用戶不在少數(shù),這樣就使得在頁面制作的過程中需要針對不同瀏覽器版本進行測試,以保證兼容性,無形中也增加很多工作量(至少我接觸的開發(fā)人員制作div頁面比table頁面的標準時間要長一些)。
橫切與延展性:
橫切——傳統(tǒng)的布局方式為了使頁面下載的更快,把頁面自上而下分成若干個塊,但是往往采用DIV進行布局的頁面都會出現(xiàn)這樣的情況,由于每塊中間欄或者其他欄內容條數(shù)不固定導致兩邊欄目沒有同時自適應,而出現(xiàn)留白。
而在出現(xiàn)內容不固定的情況,頁面就會變成下面的樣子:
相比之下傳統(tǒng)的table方式更容易規(guī)避這樣情況的發(fā)生。
以上我們只是討論某一技術在某一領域的可用性,而非技術本身。
說了這么多并不是說DIV這種布局方式不好,而是說我們應該正確的看待Table在以內容為基礎的大型門戶中的作用,而不是人云亦云。之所以DIV的布局方式?jīng)]有在大型網(wǎng)站應用,不是說門戶沒有用DIV是技術落后,是里面的人沒有前瞻性,而是多種原因決定的。網(wǎng)易之所以全部采用DIV的方式是因為內容并不是他們主攻方向。而對于其他門戶來說,這樣的決策是要靠時間來驗證的。只是現(xiàn)在這個時機還不成熟而已。
關鍵字:
本站文章均有北京網(wǎng)站建設原創(chuàng),轉載請注明出處,文章地址:http://www.0hh0x.cn/jzzhishi/120.html