討論究竟使用DIV+CSS好還是用TABLE框架好?
最近很多老板在我們公司做企業站的時候都會要求說:我要div+css的,不要表格建的那種,那樣不利于優化。但我們發現就算給他們用div+css的形式做出的網站也沒見他們做過什么優化,甚至連文章都沒更新過。這是外話,我們就來談談難道真的用div+css制作出來的網站就打開速度就快,對搜索引擎就友好嗎?
關于div+css的優點其實確實很多,這種布局方式大大精簡了頁面的代碼量,減少了網頁的體積,有利于網頁的讀取。而table的排版方式最初是由一位負責給報紙排版的人使用的,他的“發明”對于互聯網可以說是起到了極大的推動作用。讓傳統的網頁實現了豐富多彩的顏色和布局結構。在互聯網發展的初期使用比較多的瀏覽器其實并非IE,而是美國的數家瀏覽器共存的局面,后來微軟通過將IE與windows的捆綁才得到迅速的發展。直到最后又w3c組織對代碼進行了規范之后table也才得到了快速的發展。
而后隨著互聯網的發展,人們對速度的要求越來越高,而table由于其天生的缺陷導致人們急于尋找新的方法來代替它,這就出現了div+css的網頁制作方式。說這么多是想讓大家了解一下這兩種排版方式的歷史,因此只能說div+css是現在比較流行也比較實用的排版方式,而你不能說table就不好,table的一些功能是div+css目前還無法替代的。
再來說說什么叫做div+css的濫用。大家都知道為什么我們不喜歡用table,就是因為table排版的話很多地方會需要嵌套的方式來實現我們需要的頁面。而如果頁面有很多這類嵌套那么你的網頁體積將會大大增加,而瀏覽器在讀取的時候是從<table>到</table>的順序來讀的,它只有在將整個table讀取完的時候才能夠將頁面呈現出來。如果你嵌套過多的話可以想象一下你網頁的速度將會是怎樣的了。
而瀏覽器對于div+css形式的頁面讀取同樣是遵循這個原則的,它也是從<div>到</div>來進行讀取的。那么如果你的頁面div中嵌套了大量的div速度將會同樣很慢,而且嵌套太多的div也極容易會出現瀏覽器不兼容的問題。那么你這樣做的頁面跟table的嵌套又有什么區別呢?這就是我們要說的div濫用情況。一個div完全可以實現的效果就不要為了省事再去定義一個樣式來。
那么如何來避免這種情況發生呢?這就需要對網頁來進行web重構,對于web重構這個概念大家可以到百度上搜索一下。這是一個細致活,而且也是一個很考驗網頁設計人員能力的活。如果你懂的css又稍微懂些div,自己的網站是采用開源cms做的話,那么你自己就可以對網頁進行重構。修改模板就可以了,但修改的過程中一定要注意瀏覽器的兼容性。
其實很多我們網站與瀏覽器不兼容的問題大都是因為對div使用不當,或者是過于濫用引起的。而table對瀏覽器的兼容性就要好很多,如果某個效果采用div會不可避免進行很多嵌套的話還是使用table更好一些。就是說用div+css與table制作頁面,以達到對網頁代碼最大化的精簡,同時又不丟失效果。
看完這些你應該明白了并不是div+css的就一定好,同樣的頁面效果有的網頁設計人員僅用幾個div就可以輕松實現,而有的網頁設計人員卻要用多于前者兩倍甚至幾倍的代碼。