代码之家  ›  专栏  ›  技术社区  ›  meleyal

嵌套HTML定义列表(<dl>)正确吗?

  •  35
  • meleyal  · 技术社区  · 16 年前

    嵌套定义列表在语义上是正确的,还是应该只是“名称/值对的平面列表”。

    The specs

    进一步 this question .

    4 回复  |  直到 8 年前
        1
  •  47
  •   Yuliy    16 年前

    规范似乎允许这样做,只要 <dd> 包含嵌套列表。规范规定 <dt> 是内联元素,因此不能包含嵌套列表。A. <dd> 是一个块元素,因此其中一个元素中的内部列表就可以了。

        2
  •  4
  •   Rob Kennedy    16 年前

    DL s在语义上可以有“子定义”

        3
  •  0
  •   annakata    16 年前

    定义列表确实是用来表示键和值的,但它们的多重性不是1,而是1+。如果允许这种复杂性,并且记住dt是内联的,我认为用其他事物的树来表示定义事物没有语义问题。

        4
  •  -2
  •   Daniel    6 年前

    <dl>
      <dd>Black hot drink</dd>
      <ul>
        <dd>White cold drink</dd>
        <ol>
          <dd>Red sweet drink</dd>
        </ol>
      </ul>
    </dl>
    
        5
  •  -6
  •   Marius    16 年前

    如果它在所有浏览器中都有效,那么就这样做。

    我知道这可能会引起争议,很多人可能会告诉你这不是应该使用的方式。网页设计的不成文规则,就像使用列表做任何事情一样,正是人们决定要做的。没有理由使用float(其目的是在文本块中浮动图像)来布局网站上的每个小细节。但如果你试图使用桌子,你显然是泡沫前时代的白痴,你根本不知道如何设计。

    所以,做你想做的,不要为了解决问题而把事情弄得更复杂。