DIV與Table布局在大型網(wǎng)站的可用性比較
互聯(lián)網(wǎng) 發(fā)布時(shí)間:2008-10-17 19:27:57 作者:佚名
我要評(píng)論

DIV與TABLE本身并不存在什么優(yōu)缺點(diǎn),所謂web標(biāo)準(zhǔn)只是推薦的是正確的使用標(biāo)簽,好比說(shuō):DIV用于布局,而TABLE則本來(lái)就是轉(zhuǎn)二維數(shù)據(jù)的。讓TABLE做該做的事,并不是說(shuō)頁(yè)面里不出現(xiàn)TABLE就是多么多么牛。
DIV是標(biāo)準(zhǔn),是大勢(shì)所趨,但并不意味著所有的頁(yè)面都適合用它來(lái)
DIV與TABLE本身并不存在什么優(yōu)缺點(diǎn),所謂web標(biāo)準(zhǔn)只是推薦的是正確的使用標(biāo)簽,好比說(shuō):DIV用于布局,而TABLE則本來(lái)就是轉(zhuǎn)二維數(shù)據(jù)的。讓TABLE做該做的事,并不是說(shuō)頁(yè)面里不出現(xiàn)TABLE就是多么多么牛。
DIV是標(biāo)準(zhǔn),是大勢(shì)所趨,但并不意味著所有的頁(yè)面都適合用它來(lái)做。
中國(guó)的門戶和國(guó)外的有很大的區(qū)別,中國(guó)網(wǎng)民并不喜歡信息量少的頁(yè)面,YAHOO到了中國(guó)頁(yè)面上的內(nèi)容就多了不少,而上次改為簡(jiǎn)潔的頁(yè)面后訪問量下降的厲害以至于沒過(guò)幾天就又改了回來(lái)。正式由于中國(guó)的國(guó)情造就了搜狐、新浪這樣門戶。
為什么DIV不適合他們?下面從幾個(gè)方面來(lái)逐一說(shuō)明:
精簡(jiǎn)代碼:
大家都說(shuō)DIV的布局精簡(jiǎn)代碼,但是用DIV替代TABLE所節(jié)約的代碼又被CSS(樣式)所占用,而這些樣式大多用于控制DIV的排版布局。那你會(huì)說(shuō)了,CSS可以放在外部重用啊,要想得到這個(gè)問題的答案請(qǐng)往下看。
重用性與下載量:
統(tǒng)一使用一個(gè).css的樣式表文件,可以實(shí)現(xiàn)修改一次,全站修改的效果,這樣使得維護(hù)的成本更低。但是請(qǐng)大家換一個(gè)角度想,如果所有頁(yè)面在加載時(shí)都要訪問一個(gè)文件,那這個(gè)文件每天的下載量,特別時(shí)在搜狐、新浪的網(wǎng)站平臺(tái)上將達(dá)到幾億次,這就需要后面有很多臺(tái)前端web服務(wù)器在做支撐,那后臺(tái)的成本無(wú)形中也提高了很多。如果后臺(tái)支撐沒有做好,那么頁(yè)面就會(huì)出現(xiàn)花屏,之前所作的工作也是白費(fèi)。很多人會(huì)問,這樣的幾率太小了。我們所作的工作就是為了避免這一兩次意外的發(fā)生,如果意外發(fā)生了,對(duì)于門戶后果將是不堪設(shè)想的。
HTTP通訊:
統(tǒng)一的樣式表文件采用外部調(diào)用的形式,這樣每次加載單個(gè)頁(yè)面都會(huì)多一次對(duì)服務(wù)器的http請(qǐng)求服務(wù)器都會(huì)增加一次響應(yīng),這樣對(duì)前端web服務(wù)器會(huì)是很大的消耗。而原來(lái)很長(zhǎng)時(shí)間都是將css和js寫在頁(yè)面前端,而不是作為外部調(diào)用的形式,也是為了盡量避免給服務(wù)器增加消耗。
頁(yè)面緩存:
每次用戶訪問的頁(yè)面,都會(huì)在瀏覽器緩存中保存一定時(shí)間,以保證用戶下次再訪問該頁(yè)面時(shí)能夠大大提高頁(yè)面顯示速度。而每次修改都會(huì)使頁(yè)面重新下載,對(duì)于每個(gè)外部導(dǎo)入的樣式文件也是如此,如果CSS文件修改,那么訪問網(wǎng)站的每一個(gè)頁(yè)面都會(huì)重新下載,而以往的將樣式寫在頁(yè)面中的方式,只是修改的頁(yè)面需要重新下載。
兼容性:
對(duì)于CSS(樣式表)并不是所有瀏覽器的所有版本都支持的很好,比如IE5以前的瀏覽器對(duì)于CSS的支持就不是很好。而現(xiàn)在使用IE5以前版本瀏覽器的用戶不在少數(shù),這樣就使得在頁(yè)面制作的過(guò)程中需要針對(duì)不同瀏覽器版本進(jìn)行測(cè)試,以保證兼容性,無(wú)形中也增加很多工作量(至少我接觸的開發(fā)人員制作div頁(yè)面比table頁(yè)面的標(biāo)準(zhǔn)時(shí)間要長(zhǎng)一些)。
橫切與延展性:
橫切——傳統(tǒng)的布局方式為了使頁(yè)面下載的更快,把頁(yè)面自上而下分成若干個(gè)塊,但是往往采用DIV進(jìn)行布局的頁(yè)面都會(huì)出現(xiàn)這樣的情況,由于每塊中間欄或者其他欄內(nèi)容條數(shù)不固定導(dǎo)致兩邊欄目沒有同時(shí)自適應(yīng),而出現(xiàn)留白。
說(shuō)了這么多并不是說(shuō)DIV這種布局方式不好,而是說(shuō)我們應(yīng)該正確的看待Table在以內(nèi)容為基礎(chǔ)的大型門戶中的作用,而不是人云亦云。之所以DIV的布局方式?jīng)]有在大型網(wǎng)站應(yīng)用,不是說(shuō)門戶沒有用DIV是技術(shù)落后,是里面的人沒有前瞻性,而是多種原因決定的。網(wǎng)易之所以全部采用DIV的方式是因?yàn)閮?nèi)容并不是他們主攻方向。而對(duì)于其他門戶來(lái)說(shuō),這樣的決策是要靠時(shí)間來(lái)驗(yàn)證的。只是現(xiàn)在這個(gè)時(shí)機(jī)還不成熟而已。
相關(guān)文章
Div+CSS對(duì)HTML的table表格定位用法實(shí)例
這篇文章主要介紹了Div+CSS對(duì)HTML的table表格定位用法實(shí)例,文中講到了CSS的定位差異問題需要的朋友可以參考下2016-03-11CSS:Table-cell屬性的妙用讓div也能享受table定位的好處
你要是用div的話,一會(huì)inline一會(huì)float很是蠻煩。怎么樣才能在使用div的時(shí)候也能享受的table定位的好處呢?下面有個(gè)好的方法2014-09-04div+css實(shí)現(xiàn)兩列table效果示例
這篇文章主要介紹了div+css實(shí)現(xiàn)兩列table效果示例,需要的朋友可以參考下2014-04-15通過(guò)css屬性margin:auto讓Div中的Table居中
在div標(biāo)簽中加入text-align:center里面的Table是不會(huì)居中的,在Table中加上 margin:auto就可以實(shí)現(xiàn)居中效果,下面有個(gè)示例,大家可以參考下2014-03-19使用div+css布局過(guò)程中在什么時(shí)候使用table呢
想必很多朋友都在詢問這個(gè)問題,就是在應(yīng)用DIV+CSS布局以后該在什么時(shí)候使用table呢?下面針對(duì)這個(gè)問題,為大家詳細(xì)介紹下2014-03-17html 隱藏div HTML里隱藏表格TABLE或者DIV內(nèi)容的css樣式
突然想起幾年前用過(guò)的一個(gè)隱藏樣式代碼,有些時(shí)候用它非常方便,比如想讓某塊表格TABLE或者DIV里的內(nèi)容完全看不到,那就加上他,嘿嘿,就隱身了,需要的朋友可以了解下2012-12-21Table2CSS 表格轉(zhuǎn)換DIV+CSS工具 3.0.0完美漢化特別版
這是一個(gè)搜索引擎優(yōu)化工具,轉(zhuǎn)換成網(wǎng)頁(yè)的HTML代碼表tableless的CSS 。 當(dāng)前網(wǎng)頁(yè)流行用div+css布局,大家可以參考下。2009-12-08div+css table布局實(shí)現(xiàn)代碼
下面是我翻譯的內(nèi)容,是根據(jù)我對(duì)文章的理解意譯的,你就別挑哪里翻譯的不對(duì)了,我的目的只是傳達(dá)這個(gè)CSS技巧 許多網(wǎng)頁(yè)設(shè)計(jì)師都喜歡,將兩個(gè)或者多個(gè)容器等高的并排放2009-03-10html css 控制div或者table等固定在指定位置的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇html css 控制div或者table等固定在指定位置的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧2016-06-13