嵌套的HTML列表是否已经被弃用?

3
HTML 4规范将以下内容视为不推荐示例(搜索“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>

为什么这个示例已被弃用?

2
我的猜测是这个例子已经过时了,因为其中一个<ol>包含了过时的start属性。 - jmoerdyk
2个回答

6

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

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

然而,在您的示例中,列表没有包含在li标签中,这意味着它将无法通过HTML验证。


列表包裹在li中。缩进只是不好,并且它利用了li元素的结束标签是可选的规则。 - Quentin
感谢您的回答,克里斯托弗。我认为链接的文档更像是维基百科而不是规范,而且无论如何,“OL”都在第一个“LI”内部。如果规范中包含澄清说明,那就太好了... - ezequiel-garzon
我曾经想要修复缩进,但毕竟这就是规范中的呈现方式。 - ezequiel-garzon

6

我发现其他答案非常有启发性,但我相信你是对的,所以我在这里打上了我的谦虚的绿色勾号。令人困惑的是,元素和属性如何成为过时的,然后又被“赦免”! - ezequiel-garzon
1
HTML 4试图设计一个干净的规范,以清晰地分离关注点。HTML 5在人们从糟糕的教程中学习HTML后放弃了这一点,大多数情况下只是记录了人们实际编写的内容。 - Quentin
我可以理解你所说的适用于已重新载入的 US 元素,但为什么要弃用 start 属性呢? 当 LI 元素具有 value 属性时,它似乎很有用,尽管有些多余。编辑:等等! 同样弃用了 LIvalue 属性! 真是让人费解... - ezequiel-garzon
1
@eze — 已被CSS计数器替代。 - Quentin
谢谢,Quentin。我不知道这些!我仍然觉得start属性比起明显历史的OLtype属性更多的是内容而非展示。 - ezequiel-garzon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接