在尝试使用w3c验证器时,此列表似乎出错:
<ul class="navtest" >
<ul>
<li><a href="url.php">Fall Catalog</a></li>
<li><a href="url.php">Contact us</a></li>
</ul>
</ul>
我得到的错误是:第94行,第12列:开始标记&#34; LI&#34;省略,但其声明不允许这个
<ul>
我做错了吗?使用:HTML 4.01 Transitional
答案 0 :(得分:6)
<ul class="navtest" >
<li>
<ul>
<li><a href="url.php">Fall Catalog</a></li>
<li><a href="url.php">Contact us</a></li>
</ul>
</li>
</ul>
缺少李的
答案 1 :(得分:2)
根据spec,UL
可能包含的唯一元素是一个或多个LI
元素。
请参阅DTD片段:
<!ELEMENT UL - - (LI)+ -- unordered list -->
您可以将第二个列表放在列表项中:
<ul class="navtest" >
<li>
<ul>
<li><a href="url.php">Fall Catalog</a></li>
<li><a href="url.php">Contact us</a></li>
</ul>
</li>
</ul>
答案 2 :(得分:1)
这是因为根本不允许您将<ul>
放在另一个<ul>
内而不将其嵌套在<li>
内。
我的问题是:你为什么要使用99的标准?
答案 3 :(得分:1)
以上已回答您的问题。此链接将为您提供更多详细信息,为什么在验证程序中会产生此问题:
https://www.codecademy.com/en/forum_questions/52a217227c82ca0e9b000c21
UL元素只能接受的输入是LI元素。由于您可以在LI元素中插入UL元素,因此必须将结束LI标签放在嵌套的UL / LI集群后 之后。否则,您只是将UL嵌套在UL中,这是不允许的。
TL / DR:将UL / LI嵌套在LI而不是UL中。