如何在HTML中编写符合W3C标准的多级项目符号?

Tec*_*boy 39 html w3c-validation html-lists

是否有可能在HTML中编写符合W3C标准的多级项目符号(无序列表)?

可以使用嵌套ul,但不符合W3C.

 <ul>
     <li>myItem 1</li>
     <li>myItem 2</li>
     <ul>
        <li>myItem 2a</li>
     </ul>
     <li>myItem 3</li>
     <li>myItem 4</li>
 </ul>
Run Code Online (Sandbox Code Playgroud)
  • myItem 1
  • myItem 2
    • myItem 2a
  • myItem 3
  • myItem 4

在Visual Studio中,上面的代码给出了警告:验证(XHTML 1.0 Transitional):元素'ul'不能嵌套在元素'ul'中

Dav*_*mas 78

无论是唯一有效的儿童ul或者olli元素; 一个li可以,但是,含有一ul(或ol).为了实现你的目标:

  <ul>
      <li>myItem 1</li>
      <li>myItem 2</li>
      <li style="list-style-type:none">
         <ul>
           <li>myItem 2a</li>
        </ul>
     </li>
     <li>myItem 3</li>
     <li>myItem 4</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

  • 实际上,您所要做的就是将嵌套的UL放在第二个li而不是创建一个空白的UL.然后你就不会得到不必要的子弹 (14认同)
  • 这是唯一的**有效(x)html**解决方案.额外的子弹应该通过CSS处理.我建议另外提出一个问题来帮助解决这个问题. (2认同)

Mar*_*lon 12

作为David Thomas回答的补充,这将删除不需要的子弹:

<ul>
    <li>myItem 1</li>
    <li>myItem 2        
        <ul>
            <li>myItem 2a</li>
        </ul>
    </li>
    <li>myItem 3</li>
    <li>myItem 4</li>
</ul>
Run Code Online (Sandbox Code Playgroud)