同是一个功能但DIV显示只需个标签,而table就要三个标签,DIV整洁时尚,搜索引擎也喜欢,所以很多Web设计师都愿用它,但是DIV不能完全替代表格。
DIV与table的区别
可访问性差:屏幕朗读软件和盲文浏览器无法很好地理解 Table 中的内容。
不够语义(Semantic):我们需要语义的 Web。
第1条:代码臃肿
首先,Table 里面唯一无法用 CSS 定义的属性只有 Cellspacing, Cellpadding 几个,其它属性都可以并且应当使用 CSS,这样,剩下的,就是和的对决,我相信一个动辄几十K大小的网页,即使使用了几十个 Table,因此多出来的代码也可以忽略不计,那些埋怨 Table 代码臃肿的人其实该检查自己的编码习惯,能将 Table 写得十分臃肿的人,写 Div 相比也未必会简洁到哪里。
第2条:页面渲染性能问题
我使用一台2004年的笔记本电脑,1.6G 的 CPU 与 1G 内存,这种配置下,看不出 Table 布局和 Div 布局在页面渲染上有任何速度差别,其实这点差别即使有,相对网络本身的延迟也可以忽略。
第3条:不利于搜索引擎优化
如果你尽可能使用 CSS 而不是 Table 的属性,前面说了,产生的代码和 Div 的差别也不会很大,搜索引擎会歧视标签吗,这种说法的依据我至今并没有找到。
第4条:可访问性差
这是 Table 固有的缺陷,不过多数 Div + CSS 的拥趸似乎并不是基于这个原因才排斥 Table。
第5条:不够语义
语义 Web 的含义要深远得多,并不是仅仅在 Table 和 Div 上纠缠,即使 W3C,也并没有规定 Table 只能用来显示表格数据,很多在 Table 的语义上进行纠缠的人,其实不妨再等等 HTML 5,那才是真正的语义。