28

我需要在按列网格中显示帖子和相关数据,当然需要将 stable对齐div在单行中,使用floats 是一件耗时的事情!

非常感谢您对 HTML5 中表格的注意事项的评论!

4

2 回答 2

45

简单规则 -将表格用于表格数据,使用其他元素进行演示(使用 css 设计布局),如、divsection等。这为他们持有的内容提供了意义,而不是用于所有内容asidenavtable

事实上,在 90 年代,开发人员使用表格来起草他们的布局,但现在,新的 CSS3 规范令人惊叹,它让您能够在设计布局时拥有如此多的把握,比如Flex Boxcolumn-count盒子模型的行为可以通过使用box-sizing属性来改变,响应式使用@media查询等设计变得越来越好grid,这是您无法通过table元素实现的......因此,table仅用于存储表格数据。

我见过许多开发人员有一种table应该完全忽略的印象,相反,他们使用了一大堆div100 行的 CSS,应用display: table; table-cell table-row属性只是为了让一个表格变得直截了当。

因此,即使在 HTML5 中,如果您将表格用于表格数据,也完全可以。


来自 W3 组织:(v4.01)

表格不应纯粹用作布局文档内容的一种方式,因为这可能会在呈现到非可视媒体时出现问题。此外,当与图形一起使用时,这些表格可能会迫使用户水平滚动以查看在具有更大显示器的系统上设计的表格。为了尽量减少这些问题,作者应该使用样式表而不是表格来控制布局。


来自 (HTML 5)

表格不应用作布局辅助工具。从历史上看,许多 Web 作者都使用 HTML 格式的表格来控制他们的页面布局,从而难以从此类文档中提取表格数据。特别是,辅助工具(如屏幕阅读器)的用户可能会发现使用用于布局的表格导航页面非常困难。如果要将表格用于布局,则必须用属性标记它,role="presentation"以便用户代理正确地将表格表示给辅助技术,并将作者的意图正确地传达给希望从文档中提取表格数据的工具。

使用 HTML 表格进行布局有多种替代方案,主要使用 CSS 定位和 CSS 表格模型。[CSS]

于 2013-07-06T13:34:01.297 回答
6

根据规范,<table>表示多维数据,“不得用作布局辅助”。

如果您需要显示多维的表格数据,那么您绝对应该使用表格。如果您只需要列,请不要。有许多 CSS 框架,例如 bootstrap,可以简化构建网格所需的样式。

于 2013-07-06T13:35:35.340 回答