1、大大縮減頁面代碼,提高頁面瀏覽速度,縮減頻寬成本;
2、結構清晰,容易被搜尋引擎搜尋到,天生最佳化了seo
3、縮短改版時間。只要簡單的修改幾個CSS檔案就可以重新設計一個有成百上千頁面的網站。
4、強大的字型控制和排版能力。CSS控制字型的能力比糟糕的FONT標籤好多了,有了CSS,我們不再需要用 FONT標籤或者透明的1 px GIF圖片來控制標題,改變字型顏色,字型樣式等等。
5、CSS非常容易編寫。你可以象寫html代碼一樣輕鬆地編寫CSS。
6、提高易用性。使用CSS可以結構化HTML,例如:<p>標籤只用來控制段落,heading標籤只用來控制標題,table標籤只用來表現格式化的資料等等。你可以增加更多的使用者而不需要建立獨立的版本。
7、可以設計一次,隨處發布。你的設計不僅僅用於web瀏覽器,也發行就緒在其他裝置上,比如PowerPoint。
8、更好的控制頁面配置。不用多說。
9、表現和內容相分離。將設計部分剝離出來放在一個獨立樣式檔案中,你可以減少未來網頁無效的可能。
10、更方便搜尋引擎的搜尋。用只包含結構化內容的HTML代替嵌套的標籤,搜尋引擎將更有效地搜尋到你的內容,並可能給你一個較高的評價(ranking)。
11、Table 布局靈活性不大,你只能遵循 table tr td 的格式。而div 你可以 div h1-h6 p span ul li等標籤 組合來寫……但要符合標準文法的來寫。
12、另外如果你不是javascrput的高手,你可以不必去寫ID,只用class就可以。當用戶端程式員寫完程式,需要調整時候,你可以在利用他的ID進行控制。
13、Table 中布局中,垃圾代碼會很多,一些修飾的樣式及布局的代碼混合一起,很不利於直觀。而Div 更能體現樣式和結構相分離,結構的重構性強。
14、在幾乎所有的瀏覽器上都可以使用。
15、以前一些非得通過圖片轉換實現的功能,現在只要用CSS就可以輕鬆實現,從而更快地下載頁面。
16、使頁面的字型變得更漂亮,更容易編排,使頁面真正賞心悅目。
17、你可以輕鬆地控制頁面的布局 。
18、你可以將許多網頁的風格格式同時更新,不用再一頁一頁地更新了。你可以將網站上所有的網頁風格都使用一個 CSS檔案進行控制,只要修改這個CSS檔案中相應的行,那麼整個網站的所有頁面都會隨之發生變動。
補充A:
1、搜尋引擎親和力:搜尋引擎不會在意一個頁面的設計或者構成。搜尋引擎不可能“欣賞”設計漂亮新穎的頁面;也不會去“排斥”顏色搭配醜陋的頁面。它們只是默默地拿到它們需要的內容就離開。如果一個頁面中涵蓋了大量的table來描述構架,試想搜尋引擎要花多大的代價才可以拿到真正有用的資訊呢?
憑我自己的經驗,一般來說,table構架描述的頁面,樣式結構和內容資訊大小比可能達到1:1甚至更高。而CSS+DIV構架的頁面,雖然在用戶端看來下載一個複雜的CSS也要佔用差不多的頻寬,然而搜尋引擎可以很方便的繞過這個css,而直接抓去div中的內容。這便是div的優勢所在。頻寬的稍多佔用,完全顯得微不足道,更何況一個冗餘的table設計架構如果代碼寫的不好會佔用更多的頻寬。
2、頁面重構:這個應用最經典的例子就是各大blog程式了。就如現在我用的LBS系統,以及流行的PJBLOG、php下面的WP、MT,都是採用div+css構架。內容和樣式的分離導致我們在重構頁面配置(更換皮膚)的時候,只用針對每一個div元素重新定義其具體位置、樣式就行了。而在原來的table基礎上進行改版,幾乎必須改變所有的內容注入渠道,實在是太過於麻煩.
補充B: (從程式方面說)
1、使用div的方式進行程式的嵌套,特別是使用php這樣的代碼嵌套,可以減少出現像table中那樣繁重的代碼,對於頁面嵌套可以減少因table代碼而帶來的問題。
2、使用div對於設計使用AJAX等的時候,可以減少Javascript代碼對於頁面控制時候的複雜度,因為使用table的時候,層次關係最起碼有三層,table-tr-td以上,而使用div則基本上只有兩層(div-div)的概念。
3、用div對於頁面的定位更準確,因為使用div的代碼的寬度高度等都使用css或者頁面的style方式控制,即在需要修改一個框(box)的大小、位置時候,可以直接修改css的代碼或者該標籤的style代碼即可實現。而幾乎不用修改其他代碼,但是使用table的情況下,則可能會因為table的位置出現變動,而影響到對整片代碼的修改。
4、在頁面效果來說,由於Firefox等瀏覽器再對table方面進行了很多的最佳化,才使得目前firefox在處理頁面的輸出時候可以這麼接近IE的效果,但是在對於一些table的排版,用firefox 會存在一下莫名起碼的以為等問題。這些問題在IE中可能不存在,但是在使用Firefox等其他引擎的瀏覽器就可能會出現了。
5、就是輸出的代碼將更小。由於使用div進行頁面代碼的組織,而布局由CSS等檔案進行控制,因此從輸出的html中產生輸出的代碼要一般比使用table的頁面少70%。從系統的負載上考慮,將會更好解決因為代碼上面的損耗,對維護系統的穩定起到一定的協助。
6、更方便搜尋引擎的搜尋,目前的搜尋引擎只是對頁面的代碼進行分析,因此頁面代碼更小而且有語意頁面,搜尋引擎的效能會更高,使用者的文字資訊會更容易被搜尋引擎進行收集,對於web網站來說被將會更容易被搜尋引擎所引用。
7、無可避免,在頁面的一些位置,我們還是依舊使用table方式表現,比如說一些商品列表,訂單列表,提交表單等,我們依舊使用table的方式來實現,因為對於這樣的表格表現形式,使用div實現時候還不太成熟。
8、最後W3C標準是目前網站開發的主流,作為專業的webTeam Dev,哪有理由不使用這種技術呢!