标准Xhtml-div与li

标准Xhtml-div与li,html,xhtml,coding-style,semantics,Html,Xhtml,Coding Style,Semantics,在下面的场景中,我需要你的建议。 假设我有一个UI,比如 Col1 Col2 A D B E C F 现在要在我的HTML中得到这个,我正在使用..就像 <div class="col1"> <div>A</div> <div>B</div> .......... </div> <div class="col2"> <div>D</div> &l

在下面的场景中,我需要你的建议。 假设我有一个UI,比如

Col1 Col2
A    D
B    E
C    F
现在要在我的HTML中得到这个,我正在使用..就像

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

A.
B
..........
D
E
..........
但是我在这里使用了太多的div。按照标准XHTML,它可以吗?还是应该使用
  • 有人能给我一个合理的解释,或者别的什么建议吗? 注:不使用表格
    谢谢。

    在我看来,您似乎正在尝试显示表格数据,
    table
    元素非常适用于该表格数据,并且是其预期用途

    <table>
      <tr>
        <th>Col1</th>
        <th>Col2</th>
      </tr>
      <tr>
        <td>A</td>
        <td>B</td>
      </tr>
    </table>
    
    
    可乐
    可乐
    A.
    B
    
    如果您确实不想使用
    table
    ,我会像您在示例中那样使用
    div
    元素。但最终您会意识到,您试图完成的是模拟一个已经存在的元素-


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

    在我看来,您似乎正在尝试显示表格式数据,而
    table
    元素非常适用于此,并且是预期用途

    <table>
      <tr>
        <th>Col1</th>
        <th>Col2</th>
      </tr>
      <tr>
        <td>A</td>
        <td>B</td>
      </tr>
    </table>
    
    
    可乐
    可乐
    A.
    B
    
    如果您确实不想使用
    table
    ,我会像您在示例中那样使用
    div
    元素。但最终您会意识到,您试图完成的是模拟一个已经存在的元素-

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

    您可以使用,尽管它更适合于键/值对数据,尽管在您的情况下可能是这样,我说不出来

    如果不是,就像Manticore说的,就使用表:

    您可以使用a,尽管它更适合于键/值对数据,尽管在您的情况下可能是这样,我不知道


    如果不是,就像Manticore说的那样,只需使用表:

    我支持Manticore的声明。表格还应用于表格数据(以行和列显示的数据)。每个人都兴高采烈地使用div来代替表进行布局,但这并不意味着表应该被放弃。你所做的不是布局;它构造了一个特定的内容段,因此您应该使用表标记。此外,还有一些优势:

    • 您可以使用包含标记的标记来创建表标题。如果用户打印的表超出了一页,则中的内容将打印在每一页的顶部。标签也是如此。不过有一点不同:里面的内容应该是单元格1的内容格式-除了中的标签外,不要在s的内部使用标签
    • div实际上不可能以表格格式进行布局。它们对于页面设计布局很有用,但不一定用于表格数据。另外,如果您正在创建一个交互页面,用户将在其中添加更多数据,那么您将发现自己很难确定div的位置

      • 我支持曼蒂科尔的声明。表格还应用于表格数据(以行和列显示的数据)。每个人都兴高采烈地使用div来代替表进行布局,但这并不意味着表应该被放弃。你所做的不是布局;它构造了一个特定的内容段,因此您应该使用表标记。此外,还有一些优势:

        • 您可以使用包含标记的标记来创建表标题。如果用户打印的表超出了一页,则中的内容将打印在每一页的顶部。标签也是如此。不过有一点不同:里面的内容应该是单元格1的内容格式-除了中的标签外,不要在s的内部使用标签
        • div实际上不可能以表格格式进行布局。它们对于页面设计布局很有用,但不一定用于表格数据。另外,如果您正在创建一个交互页面,用户将在其中添加更多数据,那么您将发现自己很难确定div的位置

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

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

            <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>
            
            • 可乐
              • A
              • B
              • C
            • 可乐
              • D
              • E
              • F

            那么,最糟糕的将是div。”“最糟糕的”是因为它们没有语义意义。基本上是标记汤。

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

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

            <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>
            
            • 可乐
              • A
              • B
              • C
            • 可乐
              • D
              • E
              • F

            那么,最糟糕的将是div。”“最糟糕的”是因为它们没有语义意义。基本上是标记汤。

            不,根据标准,我必须使用divs创建表格格式。不能使用表格。这是一个愚蠢的标准。正如我在文章中已经说过的:使用表格进行布局是非常困难的