在ul中嵌套除li之外的其他html标记

在ul中嵌套除li之外的其他html标记,html,Html,这些代码在语法上正确吗?我正在使用第一个代码块构建一个导航(将标题标签嵌套在ul中)。如果这是错误的,或者这是一个不好的做法,那么缺点是什么 <ul class="site-title left"> <header> <li><h1>site title</h1></li> </header> </ul> 网站名称 及 网站名称

这些代码在语法上正确吗?我正在使用第一个代码块构建一个导航(将标题标签嵌套在ul中)。如果这是错误的,或者这是一个不好的做法,那么缺点是什么

<ul class="site-title left">
  <header>
   <li><h1>site title</h1></li>
  </header>                         
</ul>
  • 网站名称

  • 网站名称

根据报告,这是:

ul元素表示项目列表,其中项目的顺序并不重要,也就是说,更改顺序不会实质性地改变文件的含义

列表中的项是ul元素的li元素子节点。

因此UL元素的子元素必须是
li
元素

更具体地说,它在
ul
标签下表示:

内容模型:

   Zero or more li elements.
但是,这样做完全合法:

<ul class="site-title left">
   <li><span><h1>site-title</h1></span></li>
</ul>
  • 网站名称

验证输出:1个错误

错误行25,第51列:在此上下文中,元素h1不允许作为元素span的子元素。(正在抑制来自此子树的进一步错误。)

  • 门居

  • 的缺点是,它在不同的浏览器中可能不起作用或看起来不一样。我建议:
  • 另外:为了检查语法的有效性,是您的朋友。正如回答中所述,不,这是不正确的语法。我还认为它可能在语义上也不正确。如果是导航,那么站点标题就不属于导航。仅供参考,对于你想要的东西,最好的解决方案可能是简单地使用嵌套列表。在规范中你能找到令人惊讶的东西,是吗?我发现对于这类事情,这个版本更容易使用:在过去的几年里,一直在努力使规范更具可读性。最终目标是让开发人员和实现人员(如浏览器供应商)能够轻松访问此类信息:)感谢dev.w3.org链接,它们更具可读性,我只是习惯于阅读夜间报道:)我将更新链接。他们在规范方面做得很好,最新的规范非常清晰、简洁,而且可读。这不是他想要的!!!我想他想知道一个不是li的元素是否可以作为ul块的第一个子元素。而answare似乎不是
    <ul class="site-title left">
       <li><span><h1>site-title</h1></span></li>
    </ul>
    
                <li><span><h1 class="Tabellenkopf">Menü</h1></span></li>