什麼情況下適合用 table+CSS 而不是 DIV+CSS ?

恩···應該說是table 與div


為何總是把網頁元素局限與 div 或者 table?DIV+CSS 的說法真的不要再用了,理解各個標籤語義本質自然就明白我說的了。


分兩種:

1、一個以div+css為主的頁面中,如果遇到「數據展示」,用table。

2、EMD設計時,用table+css,用div會造成郵件錯亂。


讓標記更有語義,在展現表格數據時才使用table標籤


該表現 table 內容的時候就用table標籤。

div + css 已經是老的說法了,我更傾向於稱為語義化。檢驗語義化效果的方法之一就是CSS裸奔。

絕對不要用 table + css 來布局,table是用來展現表格數據的,而不是用來布局的。


1,table也是展示數據的html標籤,不可一味的排斥。

2,做EDM的時候建議使用table布局


從語意的角度講,table 用來呈現數據,div 沒有語意,所以用來 layout。


1.DIV+CSS和Table並不是兩種截然不同的技術,從某種意義上來說,他們都還稱不上技術,div和table只是html中的兩種標籤而已;

2.規範的編寫網頁的方法是在最合適的地方用最合語義的代碼/標籤搭建網頁HTML結構,以CSS形式定製其樣式,以JS形式描述其動作;

3.濫用Table或者濫用DIV都是不正確的,請別忘了還有大量其他的標籤可以供使用;

4.如果是指使用表格來做為框架搭建整個頁面的話,這樣的做法已經過時了,性能效率和擴展性都十分低下,兼容性差,互聯網都快要奔向HTML5了,怎麼還抓住這上世紀的老古董不放呢?


其實table用來表現數據的結構真的很好用的

做圖表的時候就知道了

還有 EDM 也會用到

還有 一般圖文混排,垂直居中的時候 valign 真的挺好用的


我用Table一般都是在顯示大表格數據的時候用的。這種情況下table要比div顯示更好。其他情況基本上就div了,具體得看語義化了。具體情況具體分析,我們不能為了div而div。


Table是什麼意思?表格。表格是幹什麼用的?存放數據。其實table和眾多xhtml標籤一樣,只是一個標籤而已,只是早期被網站開發者濫用。


數據呈現時,多用table實現

比如說提交一個查詢表單,並且輸出查詢結果

這種的表單信息和數據呈現在多數情況下格式固定

用table能更好更整齊的反饋給用戶


如果網頁 建議使用CSS進行布局。如果是製作郵件內容,使用Table進行布局~


1.table雖然不是嚴格的間距等同的橫豎線,但原理是一樣的。橫豎線用於定位的方法在古埃及的壁畫上就有應用了。鼻子位於第幾行第幾列,占幾行幾列。這種定位更適合規則內容,一旦要表現的東西橫跨了幾個行列,就不太容易當成一個邏輯上的整體;

2.div更像是在畫布上painting。你畫了一個人,可以再畫一個盤子在人的手中蓋住,繪畫的時候你畫了兩層,但觀眾看到的是一層,一個人拿個盤子。設計師可以隨意的決定人是否拿著盤子,如果盤子上有數據,程序員也可以方便的訪問。

所以,div+css是現代的,對設計師和程序員都更友好的方法。除非是展示行列的數據,table是古埃及時代的方法。:)


① TABLE 和 CSS 不矛盾,前者是數據容器,後者是樣式定義。TABLE 的樣式控制也需要 CSS

② 如果問的是 TABLE 和 DIV,那就一個原則,把表格數據放進 TABLE,把塊狀元素放進 DIV

③ 可用於頁面布局的元素,並不限於 DIV


用到表格的時候,比如說有4*4的表格(邊框有1像素),那麼,用table只要一個句話就行;css,,,我不會用一句寫掉


可以參考我的文章http://www.sunfei.net/archives/187.html


數據和內容要以聚合的形式顯示時,可以用到table。 明白了語意性,就明白了table與div的區別。


有些問題在table布局中是很方便解決而div+css布局中解決起來卻很麻煩. 舉兩個例子

1. 在上部高度像素固定的情況下, 某表格自動填充網頁剩下的高度.

在數據集中展現的場景, 這種需求非常常見, 用div+css布局很難做到, 要麼上部和下部同時使用百分比布局, 要麼頁面載入時動態計算高度. 比如easyui就是這樣做的, 我認為其實是一種很髒的妥協, 大部分的Email系統其實都使用的這種table布局應該也是這種原因.

2. 在類似上中下分布的布局中, 某部分的高度增加(減少), 自動引起下部的高度減少(增加). 而不形成瀏覽器滾動條.

這種更明顯, table布局自然實現的功能, 在div布局中, 幾乎不能通過css來實現.

這兩種布局中,

div+css很適合現代網站的布局, 因為現代網站已經不推崇堆疊數據的方式來展現頁面. 有很多創意, div的流式布局非常好用.

而在部分需要集中展示數據的系統中, table是無法替代的布局方式


郵件


table用來呈現數據的,CSS是用來控制頁面的顯示。如果用table來控制項布局充當CSS的使用,相當於違背了table設計的初衷。


table 是一種html標籤,css是樣式表,兩種東西


表格很多時候用table而不用div寫的最大好處就是後端工程師容易控制行與列的增加和刪除,前端工程師的工作不單單是為了自己的便利,也要考慮到後端工程師的需要。


推薦閱讀:

CSS要怎麼寫才規範,提高可讀性?
在 CSS 中如何使用百分比設置頁面 Div 高度?
如果說老式的純HTML構建網頁是用表格布局,那麼CSS+div的方法主體思路是怎樣的?
CSS 偽元素有哪些不得了的用法?
剛開始學HTML5 + CSS,用什麼軟體好?

TAG:前端開發 | HTML | CSS | 計算機網路 |