table-layout:fixed
<br>
<p></p>
<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="200">left</td> <td width="100%">middle</td> <td width="200">right</td> </tr> </table>
<div style="width:100%; min-width:1000px; height:200px;">top menu or nav</div> <table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="200">left</td> <td width="100%">middle</td> <td width="200">right</td> </tr> </table> <div style="width:100%; min-width:1000px; height:200px;">top menu or nav</div>
评论
在SO stackoverflow.com/questions/83073/上进行了广泛的讨论...Google会自己使用表格,例如在adwords中。随着数以百万计的广告商记录和处理动态数据,围绕
#1 楼
1)表格不应用于页面布局,因为它们是:呈现速度慢,因为浏览器需要下载大部分(如果不是全部)表格以正确呈现
与非表格布局相比,它们需要更多的HTML,这意味着加载和呈现速度较慢,以及带宽使用量的增加
由于会快速变得复杂,它们可能是维护的噩梦
它们会破坏文本复制
它们会对屏幕阅读器产生负面影响,并可能使某些用户无法访问您的内容
它们不如使用适当的语义标记那样灵活
它们从未打算用于页面布局
/>使表格成为响应式布局非常难控制
2)将表格用于表格数据。那就是表的用途。
另请参阅:人们为什么要使用div制作桌子?
评论
是的,所以如果我有联系方式的一部分,可以使用表格,但页面的图形布局以DIV或类似的方式显示。我已经看到一些设计师在具有表格数据并使用DIV的区域中完全避免使用它们。
–隐身
2010-11-29在16:02
完全避免使用桌子的设计师不知道自己在做什么。他们误解了“不要将表格用于页面布局”的含义。
–John Conde♦
2010-11-29在16:17
完全避免使用表格是很愚蠢的,但是可以使用表格的替代方法来获取联系信息。定义列表是一个不错的选择,尤其是在实施hCard时:cagintranet.com/archive/…
–Lèsemajesté
2010-11-30 3:10
@Litso:在确定W3C的优点或缺点之前,您应该阅读W3C自己的DL规范。
–Lèsemajesté
2010-12-01 9:37
还有一个position:table CSS标记,用于创建基于表格的布局而不将其置于HTML中。在某些特殊情况下,表格仍然是布局的最佳/最简单选择。看看@ css-tricks.com/fluid-width-equal-height-columns,了解我的意思。
–伊文·普莱斯
2012年4月8日在6:17
#2 楼
表用于表格数据,而非设计。人们常常误解了使页面“无桌子”的动机。使用表格创建布局是错误的。您应使用其他元素进行布局(div,列表,节,文章,页眉,页脚,边线等)。而且,您可以用最少的HTML / CSS达到很好的效果(使代码在语义上有意义,轻巧并且易于维护)。
当然,表格数据应该位于table元素内。如果需要,您可以通过添加thead,tfoot,tbody,th,caption等来改善表的语义。所有这些元素都旨在与表一起使用,相信我,它们可以使您的表更具描述性。
所以,事实是,请勿使用基于表的设计,而应使用适合的任何HTML / CSS解决方案。从HTML语义标记开始,然后使用CSS进行设计。这样可以确保任何人的安全。用这个作为经验法则。
#3 楼
表应该包含数据,而不是设计元素。#4 楼
仅在显示表格数据时才使用表。否则,它们通常是显示的不佳选择。#5 楼
不使用表格的真正原因是:表格的默认布局是:
table-layout:fixed
这告诉浏览器分析表格并修复包含元素的单元格在他们里面,这需要一些时间。 (这就是为什么表格如此适合于复杂数据的原因)
底线:表格将在呈现表格中的所有内容之后呈现,这与使用DIV元素时相反。
#6 楼
我将表格用于固定形式的Web设计结构,我知道很多人说表格是给新手使用的,其他人则说表格是给老派的,那些总是说DIVS是最好的,但事实是表格对于某些事情是更好的,而DIVS对于其他东西。<br>
或<p></p>
更好?同样的事情我和我的2015年新版网页设计中的旧桌子可以用我友好的移动电话100%宽度与2个侧边栏(每个200px)混合在一起,以踢向所有人。
显然,在内部表中放置越来越多的表很丑陋,这就是DIVS派上用场的地方。表可以做div不能做的事情,而div可以做表不能做的事情。
说默认表布局是固定的吗?我举一个例子。
你现在看到潜力了吗?在PC和手机上看看它。是的,我什至不需要启动。
现在要对div进行同样的操作,您必须编写许多CSS代码来显示align float和crap。谁写的代码更少?我!客户需要什么?一个在1年或1个月后结束页面的家伙?
现在让我们使用divs改进设计
5列如此漂亮使用div和表进行设计布局。
您的答案是:它们可以一起更好地工作并且速度更快,并且即使在电视和小型手机上也可以在任何设计上看起来都很好。