【问题标题】:standard Xhtml- div vs li标准 Xhtml- div vs li
【发布时间】:2009-09-15 06:52:21
【问题描述】:

在以下情况下,我需要您的建议。 假设我有一个类似的用户界面

Col1 Col2
A    D
B    E
C    F

现在要在我的 HTML 中得到这个,我正在使用 ..like

<div class="col1">
  <div>A</div> 
  <div>B</div>
  ..........
</div>
<div class="col2">
  <div>D</div> 
  <div>E</div>
  ..........
</div>

但是在这里我使用了太多的 div.. 是否可以按照标准 XHTML 或我应该使用 &lt;li&gt;

有人可以提出适当的解释,或者其他什么吗? 注意:不使用表格 谢谢。

【问题讨论】:

  • 像大多数答案一样,我的第一直觉是它看起来像表格数据,应该在表格中。但正确的语义取决于 Col1、Col2、A、B、C 等实际上是什么。你能举一个更现实的例子吗?

标签: html xhtml coding-style semantics


【解决方案1】:

在我看来,您正在尝试显示 table 元素非常适合并且是预期用途的表格数据。

<table>
  <tr>
    <th>Col1</th>
    <th>Col2</th>
  </tr>
  <tr>
    <td>A</td>
    <td>B</td>
  </tr>
</table>

如果您真的不想使用table,我会像您在示例中那样使用div 元素。但最终你会意识到你想要完成的是模拟一个已经存在的元素 - table

您应该记住,当您将div 用作表格时,如果您禁用 CSS 或使用较旧的移动浏览器(不能很好地支持浮动)查看它,它看起来会不太好。

【讨论】:

  • 不,按照标准,我必须使用 divs 创建表格格式。不能使用表格。
  • 这是一个愚蠢的标准。正如我在帖子中所说:giveupandusetables.com
  • 将表格用于布局是违反标准的,但将它们用于表格数据是它们的本意。
  • @Razzie,@Manticore- 我同意你的观点,但正如我所说我不能使用 table ,必须使用 div 和 Css 创建表格格式。现在,你有什么建议,divs 还是 li?
  • 你必须,按原样,这是一个家庭作业问题? (这很好,但只是这么说)。还是因为你有个笨手笨脚的老板逼着你做傻事?
【解决方案2】:

您也许可以使用definition list,虽然这更适合键/值对数据,但我无法判断您的情况可能是这种情况。

如果不是,就像 Manticore 说的,就使用表格:http://giveupandusetables.com/

【讨论】:

    【解决方案3】:

    我会支持 Manticore 的声明。表格也应该用于表格数据(以行和列显示的数据)。每个人都在使用 div 代替表格进行布局,但这并不意味着应该放弃表格。您正在做的不是布局;它正在构建特定的内容片段,因此您应该使用表格标签。另外,还有一些优势:

    • 您可以使用包含标签的 s 来创建表头。如果用户打印表格并且超出一页,则表格中的内容将打印在每个新页面的顶部。标签也是如此。一个细微的区别:里面的内容应该是单元格 1 的内容格式 - 除了 .
    • Divs 实际上不可能以表格格式布局。它们对于页面设计布局很有用,但不一定适用于表格数据。此外,如果您要创建一个交互式页面,用户将在其中添加更多数据,您会发现自己很难弄清楚 div 的位置。

    【讨论】:

      【解决方案4】:

      “语义标准”肯定是使用表格。正如其他人所说,这是您的基本表格数据。这就是他们的目的,故事结束。

      但是,如果您不能使用表格,那么我会说下一个语义上最有意义的结构是列表,因为它允许您定义元素之间的关系,如下所示:

      <ul>
      <li>Col1
          <ul>
          <li>A</li>
          <li>B</li>
          <li>C</li>
          </ul></li>
      <li>Col2
         <ul>
         <li>D</li>
         <li>E</li>
         <li>F</li>
         </ul></li>
      </ul>
      

      然后,最糟糕的是 div。 “最差”是因为它们没有语义。基本上是标签汤。

      【讨论】:

      • 我不同意。除非数据实际上是一个列表,否则不应为数据赋予列表语义。没有语义比错误的语义更好。问题是,从 OP 给出的示例来看,无法判断数据是否为列表。
      猜你喜欢
      • 1970-01-01
      • 2019-01-24
      • 1970-01-01
      • 2012-01-14
      • 2019-01-21
      • 1970-01-01
      • 1970-01-01
      • 2011-05-25
      • 1970-01-01
      相关资源
      最近更新 更多