在li标签内嵌套标题标签

5
有时候我们会在HTML5的nav元素中嵌套列表项标签来使导航列表项在大纲中显示,这样做虽然可以通过验证,但是在语义上是否正确呢?在导航列表项中添加标题是否合适?有没有其他方法可以让导航项在大纲中显示?或者说我们是否应该关注这个问题呢?

1
W3C验证器显示很好。文档没有任何反对意见。 - Ivan Ivanov
你是怎么让导航栏里面有标题的?由于搜索引擎优化,不推荐这样做,因为H标签通常用于文本下方的结论。H1应该在顶部,可见且只出现一次,而H2则紧随其后,描述它的文本,并将站点分成更小、更具体的部分。搜索引擎使用它们来获取信息,它们是除标题、描述和关键字外最“强大”的标签:我在搜索结果中看到H1、H2和标题以及我的项目的关键字。我对H3-H6不知所措,因为它们很少使用。也许你可以在导航栏中使用H3-H6,但是为什么呢? - Ivan Ivanov
2个回答

3
HTML5语法规则允许在
  • 元素内使用标题元素

    等。然而,它(像所有HTML规范一样)将标题元素定义为某些东西的标题。这在早期规范中是隐含的,但在HTML5中更加明确地定义了标题如何参与将文档划分为部分。对于一个空部分的标题,虽然形式上有效,但除了作为内容尚未插入且将在稍后版本或脚本中添加的临时状态外,没有意义。
    从技术上讲,使用会将“foo”放入大纲中,就好像文档有一个标题为“foo”的部分。但是,即使HTML5大纲有一些支持,你也几乎不会从中获得任何收益。而且他们没有;请参见HTML5文档大纲是一种危险的虚构


  • 0
    我的建议是创建自己的div并将nav-items包装在其中。这样,您可以更改字体大小和其他所有愿意制作的内容。我建议忘记header标签,在列表中我不认为它有太多用处。
    在CSS中:
    .myDiv {
       font-size: 20px;
       display: block;
       border: 2px solid black;
    }
    

    然后将其分配给HTML

    <div class="myDiv">Home</div>
    <div class="myDiv">About</div>
    

    等等之类的。希望这有所帮助,也希望我理解了你的问题!


    1
    这并没有回答问题,问题是关于大纲的。 - Jukka K. Korpela

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