使用嵌套列表而不是表格在HTML中显示数据

使用嵌套列表而不是表格在HTML中显示数据,html,html-table,html-lists,Html,Html Table,Html Lists,我不想使用HTML表格,而是考虑使用嵌套列表结构来显示类似表格的数据 例如: <div class="table"> <ul class="row"> <li class="cell col-id"></li> <li class="cell col-name"></li> <li class="cell col-age"></li> </ul&g

我不想使用HTML表格,而是考虑使用嵌套列表结构来显示类似表格的数据

例如:

<div class="table">
   <ul class="row">
      <li class="cell col-id"></li>
      <li class="cell col-name"></li>
      <li class="cell col-age"></li>
   </ul>
</div>

我的理由:

<div class="table">
   <ul class="row">
      <li class="cell col-id"></li>
      <li class="cell col-name"></li>
      <li class="cell col-age"></li>
   </ul>
</div>
  • tr
    s和
    td
    s更舒适的造型块元素
  • ul
    /
    li
    元素在样式选择、使用JQuery等方面似乎更灵活
  • 桌子不是很重,一次渲染就可以了吗
另一方面,我看不出使用HTML表有什么好处

我是不是离基地太远了?如果是这样,请解释使用HTML表格的好处,因为我似乎什么都记不起来了。

一个简单的想法:表格意味着信息的表格组织,即每行的第n个值表示该行的相同属性。嵌套列表并不意味着下级列表中的项目之间存在关系

我没有任何具体的理由使用其中一种,如果使用像jQuery这样的强大工具,您肯定可以通过任何一种组织实现您想要的目标

然而,在所有其他条件相同的情况下,为了简单起见,我会尝试选择最自然地对数据建模的表示。它最大限度地减少了未来维护人员(包括未来的您)的“意外因素”,当您的场景与预期用例匹配时,您可能会在工具中找到更好的支持(例如表格数据)


我并不是想说服你,如果你还没有考虑的话,我就给你考虑一下。但是,实验是我们学习的方式,探索增加了趣味,这是你的应用。我说试试看。

对我来说,这和使用表格来布局网页没有什么不同。通过使用ul表示表格数据,您正在破坏页面的语义。以下不是详尽的列表,但强调了我坚持使用表格的一些原因:

  • 如果有人在关闭CSS的情况下浏览您的页面,列表将不会保留表的外观,并且很难解释

  • 屏幕阅读器将无法识别这些表,这使其成为一个可访问性问题。此外,这一点也不重要,但如果有人想直接从你的站点解析你的数据,他们必须找出你的列表格式

  • 您失去了AD、tfoot和tbody的一些好处。在我看来,thead的一大好处是,如果打印一个跨多页的表格,那么ad中的标题将显示在表格行上方的每页上

  • 如果您决定使用WYSISYG编辑器,您将无法使用某些表创建向导

  • 如果其他人将来必须维护您的站点,他们必须了解这个新系统的细节,以表示表格数据

  • 这些只是使用表的几个参数


    如果您决定使用列表解决方案,我只想说一声祝您好运,并想看看它是如何工作的。

    @Waleed-好的观点-感谢您提出的具体论点,特别是关于可访问性的论点。