在“现代”网站上使用标签是否有意义?<table> </table>

时间:2009-04-28 06:44:21

标签: html css html-table

我正在开发一个“现代”网站,而我在使用CSS以使一切正常排列方面遇到了很多麻烦。如果我只是使用一张桌子,我觉得他们的布局会更容易,但我一直在避免使用<table>标签,因为我被告知它们是“老式的”而不是正确的方式做事。

使用表格可以吗?我如何确定表何时适合,何时应该使用CSS?我只是做更容易的事吗?

16 个答案:

答案 0 :(得分:27)

答案是肯定的,使用表格很好。一般的经验法则是,如果要显示表格数据,表格可能是一个很好的方法。你应该尽可能多地尝试使用css为你的表格设置样式。

此外,此饼图可能对您有所帮助:

alt text http://www.ratemyeverything.net/image/7292/0/Time_Breakdown_of_Modern_Web_Design.ashx

编辑:表格很好。用于显示数据。就像我的第二句话所述。问题是“可以使用表格”。答案是 - 是的,可以使用表格。这不违法。

因为即使在我的一般经验法则中暗示使用数据表,显然我还必须说明,即使海报似乎已经掌握了这个概念,否则将表用于其他任何事情都是不行的。 。因此,对于记录,一般的经验法则是不使用表格来布置您的网站。

答案 1 :(得分:23)

表应该用于表示表格数据。 CSS应该用于演示和布局。

这个问题在这里也得到了详尽的解答:

Why not use tables for layout in HTML?

答案 2 :(得分:14)

基本上 - 如果您有表格数据,那么使用表格。现在真的不需要使用表格进行布局 - 当然,它们通常被认为是“更容易”,但从语义上来说,页面很糟糕,它们通常被认为是无法访问的。

参见讨论: css-discuss

和一个特别滑稽的网址 - shouldiusetablesforlayout.com

答案 3 :(得分:7)

在表的“现代”方法中,它不是关于使用表格标签或div标签,而是关于正确使用正确的标签。

表标记用于表格数据。使用它没有任何问题!

对于使用CSS,有很多教程和指南(好的和坏的)。糟糕教程的指标是:大量使用块(div)只对布局有意义,而不是对内容有意义。建议使用正确标签的正确内容并告诉您如何组成标签的好迹象。

答案 4 :(得分:4)

表仅适用于表格数据。想象一下,您必须添加一些电子表格,如数据,其中有明确的行/列标题,以及这些行中的一些数据。 例如,产品比较也是有效的表项。

答案 5 :(得分:4)

我相信表格可以显示任意行和/或列的直线数据。就是这样。表格不应再用于布局目的。

答案 6 :(得分:3)

通常,HTML标记应该描述网页的结构和内容 - 它不应该用于控制表示方面,例如布局和样式(这就是CSS的用途)。与大多数人已经说过的一样,<table>标记应该代表表格数据 - 这些数据会显示为信息表。

人们在桌子上乱扔垃圾的原因是,在过去,没有CSS这样的东西 - 所有页面布局都是直接在HTML中完成的。标签不被认为是描述内容 - 所有人真正关心的是标签如何在Web浏览器中显示内容。因此,人们认为,由于他们可以将事物组织成行和列,因此表格必须适合于布置网页的元素。这成了一种非常受欢迎的技术 - 实际上,我打赌使用表格被认为是首选的方法来布置网页很长一段时间。

因此,当人们告诉您桌子是“老式的”时,他们特别指的是这种滥用过去非常受欢迎的<table>标签。就像我说的那样,HTML表本身并没有什么问题,但是现在使用它们进行网页布局是没有意义的。

(另外,从纯粹务实的角度来看,使用HTML表格进行的布局非常不灵活且难以维护。)

答案 7 :(得分:2)

当您以网格/表格格式显示数据时,可以使用表格。但是,对于网站的一般结构,强烈建议您使用css驱动的div,ul,li元素来为您提供更清晰的网站。

如果您仍然决定使用表格,则必须考虑以下缺点:

  • 他们不是SEO友好
  • 他们的结构非常严格,有时难以维护

你可能会在基于div的网站上花费更少的时间,但它每分钟花费的价值。

答案 8 :(得分:2)

整个“反表”运动是对深层嵌套表是布局页面的唯一方法的反应,导致HTML很难理解。

表格是表格(数据)布局的有效方法,如果表格是实现布局的最简单方法,那么无论如何都要使用表格。

答案 9 :(得分:1)

当您需要在网格中显示数据时,表始终是正确的选择。

答案 10 :(得分:1)

引用Sitepoints的书HTML Utopia: Designing Without Tables using CSS  如果您有表格数据,并且该数据的外观不如其相应数据集的其他部分的相应显示重要,那么表格是有序的。如果您有最适合在Excel等电子表格中显示的信息,则表格数据就会显示。

答案 11 :(得分:1)

我会拒绝使用表来构建您的布局。表仅对您需要表示的实际表格数据有意义。如果您花费足够的时间来计算CSS,那么您会发现使用表格进行布局更容易。请记住:用于显示数据的表。用于页面布局的CSS。

答案 12 :(得分:0)

表就是:表。

他们不赞成因为它们不应该用于布局,因为在浏览器正确定位内容之前,这是一件时髦的事情。

如果您要标记的内容实际上是一个表,那么请使用表。除此之外,尽量远离。

一件小事:将两部分文本对齐到不会分开的完全相同的行(想想,用户名和发布日期)。使用表是恕我直言的选项。

答案 13 :(得分:0)

首先让它运转起来。然后把它完美。

在完美或更好之前,以某种方式完成布局。

每天会有多少人访问您正在处理的页面?一百万?还是20?

您要花多少时间在CSS问题上而不是其他问题?你的老板是否希望你在这个问题上花费这么多时间?他/她知道你在做什么吗?

答案 14 :(得分:0)

绝对。我不知道CSS狂热者在哪里发明了表格不是自然用于“布局”的想法。自从发明以来,表格已被用于铺设,无论这些是数字,文字还是漂亮的图片。 这就是他们所做的。此外,table是(X)HTML的所有版本的一部分,因此不存在弃用问题。

答案 15 :(得分:-5)

绝对

所有HTML优惠最初都是为您定义页面的标记。在我的书中,页面上元素的绝对和相对位置属于标记。所以div和table都非常适合这个任务。选择最适合您特定需求的产品。

CSS增加了许多样式可能性和布局技巧,但它补充了HTML选项而不是替换它们。

在将某些内容视为标记或样式问题之间存在非常细微的界限。 CSS支持者会说,使用CSS,您可以完全重新定位和重新调整页面的所有大小部分。然而,我无法想象将标题放在下面,页脚在上方,并使事物以相反的顺序出现。

举个例子。你设计了一个笔记本。您知道在哪里放置主要组件,主板,冷却系统,键盘,显示器和端口。您当然可能希望重新排列一些端口连接器,它们在哪一侧以及它们出现的顺序,但您实际上并不希望将显示器放在键盘的位置,将键盘放在盖子上,让风扇吹到您的脸上,将桌面上的所有连接器都通过桌面上的孔到达。

使用表格可能会使重新排列页面上的元素变得有点困难。这可能是真的。但是,在大多数情况下,您事先知道您的页面应该是多么近似,并且您不希望彻底更改所有内容。如果你在开始工作之前不能说出来,你可能不清楚自己在做什么以及做什么。

此外,只有桌子具有弹性,可以伸展到内容的宽度/高度。没有任何其他HTML / CSS可以用来做到这一点。

一侧的CSS设计允许您创建非常可调整的设计。另一方面,它会阻止您将页面设计为可调整的内容。胜利和失败。

表也是制作非常复杂和精确接口的唯一工具。例如,页面SO非常简单。它可能可以用纯CSS完成。与此同时,您是否看到过CRM,SRM等企业级软件?所有按钮,文本字段,复选框,下拉列表都精确地位于屏幕上?祝你好运只用CSS实现那种复杂性。这些布局每天都从桌面应用程序迁移到Web(关键字:软件即服务)。

因此,选择最适合您当前需求的内容,不要相信那些CSS爱好者。实际上根本不相信任何狂热分子。