【问题标题】:Are nested HTML lists deprecated?嵌套的 HTML 列表是否已弃用?
【发布时间】:2014-10-19 02:46:36
【问题描述】:

HTML 4 规范 treats the following as a deprecated example(搜索“已弃用示例”):

<UL>
     <LI> ... Level one, number one...
     <OL> 
        <LI> ... Level two, number one...
        <LI> ... Level two, number two...
        <OL start="10"> 
           <LI> ... Level three, number one...
        </OL> 
        <LI> ... Level two, number three...
     </OL> 
     <LI> ... Level one, number two...
</UL>

为什么不推荐使用此示例?

【问题讨论】:

  • 我的猜测是该示例已被弃用,因为 &lt;ol&gt; 之一包含已弃用的 start 属性。

标签: html


【解决方案1】:

The spec 详细说明了嵌套ulol 元素的正确方法。它们必须包含在 li 元素中,如下所示:

<ul>
    <li>
       <ol>
          <li>Hello there</li>
       </ol>
    </li>
</ul>

但是,在您的示例中,列表未包含在 li 标记中,这意味着它将无法通过 HTML 验证。

【讨论】:

  • 列表包裹在li中。缩进很糟糕,它利用了 li 元素的结束标签是可选的规则。
  • 感谢您的回答,克里斯托弗。我相信链接的文档是一个维基而不是一个规范,无论如何OL 在第一个LI 中。如果规格中包含澄清说明,那就太好了...
  • 我很想修复缩进,但毕竟规范中是这样显示的。
【解决方案2】:

The start attribute is deprecated 在 HTML 4 中(它是 un-deprecated in HTML 5)。该示例的其他所有内容都很好。

【讨论】:

  • 我发现其他答案非常有用,但我相信你是对的,所以这里是我不起眼的绿色复选标记。令人费解的是,元素和属性是如何被弃用,后来又被“赦免”的!
  • HTML 4 试图设计一个干净的规范来巧妙地分离关注点。在人们从糟糕的教程中学习 HTML 后,HTML 5 放弃了这一点,并且大多只是记录了人们实际编写的内容。
  • 我可以看到你所说的如何适用于重新接纳的 US 元素,但你为什么要弃用 start 属性?当LIs 具有value 属性时,它似乎很有用,如果有点多余的话。编辑:等等! value 在同一个 saec 中也已弃用 LIs!去图...
  • @eze — 被 CSS 计数器取代。
  • 谢谢,昆汀。我不知道那些!我仍然觉得start 属性更多的是内容而不是演示,这与OL 明显具有历史意义的type 属性不同。
猜你喜欢
  • 2011-07-12
  • 2011-06-20
  • 2010-09-28
  • 1970-01-01
  • 2015-04-11
  • 2013-03-01
  • 2023-03-08
  • 2018-09-12
  • 2017-12-06
相关资源
最近更新 更多