在HTML中,使用div比使用表有什么优势?

在HTML中,使用div比使用表有什么优势?,html,html-table,Html,Html Table,在多年从事后端算法和分析工作后,我最近被迫做了一些“HTML工作”。(你们现在有一种叫做jQuery的东西,对吗?)Anyhoo,回到我以前做HTML的时候(在XHTML时代之前),表是非常常见的。现在,我看到了对“div”和诸如“tableleless!”之类的敬语的大量支持。为了弥补我错过的那些年,DIV比表格更受欢迎的原因是什么?[我最近尝试将一个简单的两列表(66%,33%)划分为div,但伤痕依然鲜见。] 我意识到这个问题可能是主观的,因此作为一个具体的子问题:呈现下表的简单而简洁的基

在多年从事后端算法和分析工作后,我最近被迫做了一些“HTML工作”。(你们现在有一种叫做jQuery的东西,对吗?)Anyhoo,回到我以前做HTML的时候(在XHTML时代之前),表是非常常见的。现在,我看到了对“div”和诸如“tableleless!”之类的敬语的大量支持。为了弥补我错过的那些年,DIV比表格更受欢迎的原因是什么?[我最近尝试将一个简单的两列表(66%,33%)划分为div,但伤痕依然鲜见。]

我意识到这个问题可能是主观的,因此作为一个具体的子问题:呈现下表的简单而简洁的基于div的HTML是什么

<table>
      <tr>
         <td width="33%">Name</td>
         <td width="67%">Description</td>
     </tr>
     <tr>
         <td>National Hockey League</td>
         <td>A much longer paragraph about the league</td>
    </tr>
</table>

名称
描述
国家曲棍球联盟
关于联盟的一段长得多的话

表格不应用于页面布局,因为它们是:

  • 渲染速度慢,因为浏览器需要下载大部分(如果不是全部)表才能正确渲染

  • 它们需要比非表布局更多的HTML,这意味着加载和呈现速度较慢,带宽使用率也会增加

  • 它们可能是一场噩梦,因为它们很快就会变得复杂

  • 他们可以中断文本复制

  • 它们会对屏幕阅读器产生负面影响,并可能使某些用户无法访问您的锥形帐篷

  • 它们不如使用适当的语义标记灵活

  • 它们从未打算用于页面布局


如果要呈现表格数据,请务必使用表格-这正是它们的用途。你的例子可能符合条件!但是不要使用表来创建页面结构,因为John Conde的答案中提供了很多原因


用现代HTML标准欢呼

;表格只能用于显示表格数据;

一个重要原因是您希望HTML标记定义文档的“结构”,CSS定义“外观”。一个元素应该表示一个信息表,而不是一种快速获得所需布局的方法。话虽如此,CSS3中提供的新网格和flexbox布局选项将使这一切变得更加简单。具体问题是如何使用divs呈现一个简单的2列表格?@AmrinderArora您问了多个问题,但是John的答案最好地回答了您的问题,正如问题标题(以及正文)中所述这个子问题实际上是这个问题的一个“实例”。例如,John的回答说,基于表的代码可能是维护的噩梦。由此我推断基于div的代码很容易维护。子问题的答案可以作为一个很好的例子。屏幕阅读器位+1。这里也提到:谢谢,这很有帮助。如果我理解了这一点,表开始被用于许多布局原因,而div正是这样做的,我同意。此外,我推测这并不是因为桌子被认为是邪恶的(感谢上帝!),而是因为它们被过度使用。我说的对吗?对。但更具体地说(不是为了打败一匹死马),它使用它们来定义被认为是邪恶的页面布局/结构。而且FWIW不会让任何人告诉你做基于div的布局更容易,因为事实并非如此。但你会习惯的(我们都习惯)。正如其他地方提到的,CSS3帮助很大。再次感谢。如果我能看到该表的基于div的代码,我对part的习惯可能就要开始了。也许我们也能解决这个问题!我要反驳——为什么要创建一个基于div的表表示?就用一张桌子!我们正在讨论的是布局,以及为什么不应该在布局中使用表。