关于css:是否应避免在HTML中避免使用表?

关于css:是否应避免在HTML中避免使用表?

Should Tables be avoided in HTML at any cost?

建议在HTML页面中使用表格(现在已经有了CSS)?

表格有什么用途? 表具有CSS中没有的哪些功能?

相关问题

  • 用表格代替DIV
  • DIV vs TABLE

    • DIV与TABLEs互相反驳

一点都不。但是将表格用于表格数据。只是不要将它们用于一般布局。

但是,如果您显示表格数据(例如结果或什至是表格),请继续使用表格!


我想我不在这里占大多数,但是我仍然看到HTML表的很多用途。当然,是的,对于表格之类的东西,您根本无法击败桌子。尝试使用DIV来对齐标签和随附的表单字段当然是可能的,但是在某些情况下,使用PITA以及调整页面大小将是很难的。一张桌子在这里起作用。

但也要考虑更大的问题。例如,您是否尝试仅使用DIV和CSS创建带有页眉和页脚的标准3列布局?同样,这是很有可能的,大约有1000个带有示例的网站,但是它们都容易遇到相同的问题。第一个问题是,在没有某种JavaScript辅助的情况下,这些列永远都不会真正变成同一高度。第二个问题是更改布局通常是一件棘手的事情,因为要使所有内容都"正确"地开始是一个lac脚的行为,因此您不想弄乱它。最后,这要回到最后一点-这并不容易。您必须对所有DIV进行布局,然后返回并创建强制将这些DIV定位到正确位置的魔术CSS,然后花几个小时对其进行调整,直到正确为止。然后,在没有查看器的情况下查看HTML确实无法让您知道页面的外观,因为最后所有内容都由CSS重新解释。

现在,选择B。使用表格。花费大约30秒钟输入

标记,可能根本没有CSS,没有javascript'fixit',并且仅通过查看HTML就能确切知道它的外观。

当然有赞成和反对表格的论点,并且纯粹主义者似乎赞成DIV的布局,但是出于宗教原因,不要使用DIV只是因为有人告诉您表格是邪恶的。使用最适合您,您的页面以及查看者与页面交互的方式的内容。如果那是一张桌子,那就用它。如果没有,那就不要。


到目前为止,每个人都说过如何只将表格用于表格数据,这是事实。看一下SO上任何页面的HTML源代码,您会发现它们有不同的想法...

我认为他们的理由是,有时使用表格非常简单。虽然,有很多非常好的可用性原因避免使用它们。


除了表格数据之外,如果要以跨浏览器兼容的方式创建灵活的网格布局(例如复杂表格),则仍然需要表格。

CSS2支持创建灵活的网格布局,而无需通过display属性使用table元素,但是IE6或IE7不支持此功能。

但是,对于大多数基本表单布局,CSS应该足够了。


如果只有CSS等效项在设置"表格式"布局方面很方便,那么我很想使用CSS。我发现模仿其他人在此处列出的内容(单元格上相等的高度,自动增长的行等)所花费的时间根本不值得付出努力。在大多数情况下,我不会获得快速的投资回报,反而无法获得投资回报。

所有浏览器都可以就表格的确切布局方式达成一致。 am做完了

我的CSS愚蠢通常是这样的:
尝试在CSS中设置类似表格的布局。花20分钟或更长时间在Mozilla中获取所有内容,然后在IE中打开它。在这两个浏览器之间再花30分钟进行调整。假设世界上只有两种浏览器,因为我实际上需要完成一些工作。

我相信CSS的承诺:关注点分离。问题是对于那些需要提高生产力的人来说,CSS还没准备好迎接黄金时间。或者,也许是浏览器的渲染引擎-无论哪种。


CSS的好处是它将设计和布局与内容分开。

如果您具有表格数据,则使用

标记是有意义的。如果要布局不同的内容块,则应使用
和CSS。


表用于输出表格数据。您可能会在电子表格中显示的任何内容,结果列或类似的东西。

使用CSS而不是表格的建议是针对列式布局的,这并不是真正的表格。从来没有打算建议应该完全删除表。


表在CSS2中没有等效项,并且使用CSS复制起来并不容易。表格中难以复制的特定部分是列的自动调整大小。尽管很容易让第一行在页面上增长到相同的大小,但下一行很难动态地匹配列大小或每个单元格的大小,实际上,如果不使用其他脚本语言(例如javascript,php或其他。您可以使用最大和最小宽度,还可以为单元格大小或硬代码单元格宽度设置百分比,但是动态增长的单元格可以很好地用于1行,这是它下面的下一行不匹配的行。


浏览这些答案后,我没有看到一个现实的原因,即表格对于布局是必需的,那就是html电子邮件。

我在一家非常大型的金融公司工作,我们每个月跟踪大约600个不同的工作...。其中许多是多个电子邮件活动。

您不能将CSS用于任何邮件阅读器的布局。您可以使用一些与颜色,字体和大小相关的内联CSS规范,甚至行高都是相当广泛的,但是对于布局,您必须使用表格作为所有主要和最次要的电子邮件阅读器(Outlook 97 / 03,Entourage,MSN等)阅读它们就很好了。

当您没有指定高度/宽度的td是否包含数据时,表的问题就会发挥作用。因此,"损坏的"表布局通常是通过注意属性来固定的,是的...是html中的空格....是的空格并不重要。

因此,如果您曾经在一家大型公司/公司工作,或者您拥有一个非常大的客户,请准备好将所有最新技术扔到门外,并戴上html table帽子!


我必须在这里使用表格方法。原因仅在于成本。直到出现了一种以CSS为中心的,受到良好支持的布局方法,而我是在宏级别上谈论……而不是容器内的微观布局,试图将CSS定位成一种通用的布局方法是无效的。您必须从编写开发支票的人的角度来解决这个问题。

几年前,我承包了一家大型连锁酒店的开发和维护工作。我们采用了表格驱动的布局;您的基本页眉,正文,带有左/右列的页脚。我们还将表格用于一些更精细的元素,例如非图形按钮。这家连锁店的母公司维护了自己的网站,并采用了纯CSS的布局方法。当IE7出现时,我们的网站运行正常,没有任何更改。母公司的网站一团糟。总体而言,他们花了大约1000个小时的总时间(在会议/开发/质量检查/发布之间)来解决问题。

当您获得开发站点的报酬时,您的责任就是减轻未来的风险并最大程度地减少未来的开发成本,尤其是如果这些成本不能为站点(您的产品)增加价值时。


我认为这完全取决于时间/精力。虽然纯粹主义者可能会说"仅将表格用于表格数据",但过去我曾使用表格来简化跨浏览器的布局。

对我来说,这是时间利用的问题。我可以花一些时间在CSS上花时间使它正确,也可以将它扔到一个表中,而花的时间要少得多。我倾向于走这条路,直到一切正常。功能到位后,我将返回并完善CSS / HTML。


我对此的非常简单和基本的看法是,表格存在于表格数据中,而不是用于将一件事放置在另一个元素的顶部或旁边,因为您碰巧喜欢它在那里。

所以-如果要显示数据表:这样做(使用表)。如果要在页面上放置内容:请使用CSS。


我相信并希望使用表格进行布局的时代已经过去。简而言之:一张桌子就是一张桌子,别无其他。

我认为在接下来的几年中,新的类似的主题将是:我应该使用新的CSS功能显示:表格,表格单元格,表格行等进行布局吗? ? :-)


我想您可能有些困惑。 CSS是一种样式化HTML文档的方法,无论是表元素还是'div'。

过去是在HTML中使用表格来设计整个页面布局。通常会看到多个嵌套表(通常由所见即所得的程序(例如Dreamweaver)生成),这会导致维护方面的噩梦。

自从引入和采用CSS样式表以来,现在仅对表格数据使用表格是正确的。这意味着,如果您的数据最自然地呈现为表格,请使用table元素。您仍然可以使用CSS为表格设置样式。

但是,由于这种方法会复制现有功能,因此我通常不赞成这种方法,因此可以使用元素来构建类似表的结构。实际上,有几个网站会为您生成此类代码,但是我没有任何链接。

还请记住,某些用户可能正在以纯文本模式查看,或者正在使用屏幕阅读器,这两种方法都可能会破坏页面(例如,垂直而非水平阅读列),从而正确使用表格。

高温超导


我认为这之所以如此重要,是因为在创建结构和布局时使用html表比使用CSS更容易理解。使用CSS更抽象,但有助于分离代码。

作为对"结构"自变量的回应……根据定义,它没有使用html表为数据提供结构,因此您将其标识为"表格"。无论是CSS还是h??tml,您都在控制数据的流向和布局。无论是表格形式还是其他形式...

如果CSS表是如此重要(并且我确信我的回答会引发某种火焰大战),为什么Visual Studio中没有一种使用CSS创建布局的机制?哦,您没有在VS中检查布局功能吗?是的,您可以直接从Microsoft获得表格。我并不是在抱怨,只是指出,如果这对世界其他地区同样重要,那么您会看到MS切换到CSS。

我认为最适合您的项目。对于一两个页面的Web项目,我仍然使用html,因为它的作用很明显。使用CSS更抽象,有些早晨我没喝咖啡。 HTML表可能会变得混乱,快速。 CSS会花更多的时间来弄乱,但是也会。


尽管对于某些布局,使用表乍看起来似乎比较简单,但是当维护时间到来时,使用css就可以了。尤其是如果您想更改某物的位置,或者要在多个地方使用相同的布局。

恕我直言,仅在显示表格时才应使用表格。切勿出于布局目的。


如果您的布局有点表格形式,您甚至可以使用它们进行布局。我喜欢表和单元格的功能,可以动态调整为浏览器窗口的宽度。
切勿使用任何固定的宽度或高度,这只会弄乱东西。


这简单。
认为您的网页是纸上的真实页面。
仅当您在纸上绘制表格时,才应使用网页上的表格。

另一个技巧是仅使用边框> 0的表。
这样,仅当您要使用表(而不是布局)时才使用表。


保留表以仅用于表格数据的大部分时间都是可行的。使用表比其他方法更容易实现某些布局问题。例如,垂直对齐和等高列。在篱笆的另一边,我使用了一些复杂的数据表,因为这些表不符合要求,因此我使用了浮动div。

像其他任何东西一样,使用正确的工具完成正确的工作,有时最实用的工具并不是您认为的那样。就是说,即使在给出的示例中,我也很少使用表进行布局,因为不可避免地会遇到一些使我不得不使用CSS进行处理的问题。你的旅费可能会改变。


如果有理由以语义方式使用表(例如用于显示表格数据),请使用表。

只需不使用任何表即可进行布局。语义标记为您提供了许多搜索引擎和可访问性的好处。


@toddhd提倡使用表格进行布局只是为了节省时间,这是个良策。如果时间是问题,那么可以使用Blueprint CSS或960 Grid之类的框架快速创建没有表的列式布局。


似乎取决于开始设计时浏览器的功能。如果您仅在工作表时就回到原来的位置,那可能就是您一直希望使用的,因为您知道。或者,即使在浏览器已经改进为能够呈现CSS之后,您还是喜欢使用它...

我只是不喜欢一遍又一遍地做同样的事情,因为它们很容易并且我知道如何去做,这很无聊。我宁愿学习新技术也不愿放弃某些东西,因为我不知道如何使用它,或者我认为我没有时间学习。

我不喜欢使用表格,我不理解它们,它们看起来有些陌生且令人反感,但这是因为我是从2005年开始的。我也不使用设计程序来吐出模板,因为我更喜欢手工编码。


表格用于显示表格数据。没有什么可添加的:-D


我也不喜欢使用表格在页面上排列项目的想法。但是,这不应该成为一种宗教-餐桌不好。我遇到了一个示例,其中我具有三列布局,并且需要中心列随内容增长。最后,最简单且在所有需要的浏览器上都可以正常工作的解决方案是使用表。 IMHO CSS仍然有一些缺点,有时最好使用简单的可行方法,而不是仅仅盲目地遵循某些想法("表不好...")。


我将假设您的问题实际上是-"我应该避免出于布局目的使用HTML表吗?"。答案是:否。实际上,表专门用于控制布局。使用表格控制整个页面的布局的缺点是,源文件迅速变得难以手动理解和编辑。使用表控制整个布局的一个(可能)优点是,如果对跨浏览器的兼容性和呈现存在特别的关注。我更喜欢直接使用HTML源文件,对我而言,使用CSS比使用整个布局表更容易。


仅当您尝试显示表格数据时,表格才有意义。对于布局,应始终使用DIV并使用CSS定位。


如果您需要使用表格,则布局可能很烂。给我展示一个使用表的精心设计的网站,我将向您展示一千个没有表格的网站。

很多人都在谈论"纯粹主义者"一词。这是垃圾。您会在书中打印报纸副本吗?您会使用Excel设计小册子吗?没有?那么,为什么要使用表格来显示非表格数据?

大多数情况下,人们在放下桌子进行布局时遇到的困难是他们自己对HTML / CSS /良好设计原则的无知造成的。虽然您可能很难使多列布局在垂直方向上均匀分布,但您可能会考虑尝试其他方法。 DIV不是表。您可以使用宽边框,页面背景等来制作人造列。花一些时间实际学习做您打算要做的事情,或者永远被视为没有任何有用技能的人。 (http://www.alistapart.com将是一个好的开始)

老实说,我很惊讶这个问题在2008年出现。当我上高中时,DIV就出现了。别再成为菜鸟了。

如上所述,表格在移动设备和屏幕阅读器上会严重失效。


推荐阅读