html - 防止 <nav> 在 html5 网站上显示为 "untitled section"

标签 html navigation semantics nav

我正在尝试使用 html5 分区元素和标题实现正确的分区,同时实现我的客户要求的设计/布局(包括某些限制)。

总体布局是这样的:

<body>
  <header>
    <nav class="breadcrumbs"><ol /></nav>
    <h1>page title</h1>
    <p>visual title</p>
    <p>sponsor</p>
    <nav class="main_navigation"><ul /></nav>
  </header>
  <div class="main_content">
    <article><h2>Article title</h2></article>
    <article><h2>Article title</h2></article>
    <article><h2>Article title</h2></article>
    <article><h2>Article title</h2></article>
  </div>
  <footer>Footer stuff<footer>
</body>

我现在关心的是,如果我使用 html5 outliner ,我得到面包屑导航和主导航显示为无标题部分。 按照层次结构的标题结构,我不能给他们 h2 以下的标题,自然我根本不会给他们“标题”,用 css 隐藏标题来“标题”他们感觉不对。

保持语义正确、符合 SEO 标准并防止这些部分显示为无标题部分的最佳方法是什么?

最佳答案

显然,nav 元素是无标题的,因为它们是分段元素。

如果您必须在大纲中将它们作为带标题的部分,则需要在其中添加一个标题。

在这种情况下,您可以执行以下操作...

<nav class="breadcrumbs">
    <h2>Breadcrumb navigation</h2><ol />
</nav>
    <h1>page title</h1>
    <p>visual title</p>
    <p>sponsor</p>
<nav class="main_navigation">
    <h2>Main navigation</h2><ul />
</nav>

然后用 css 隐藏 h2

顺便说一句,您可能应该将 div 更改为 section 以更加语义化......此处

<section class="main_content">
    <article><h2>Article title</h2></article>
    <article><h2>Article title</h2></article>
    <article><h2>Article title</h2></article>
    <article><h2>Article title</h2></article>
</section>

关于html - 防止 <nav> 在 html5 网站上显示为 "untitled section",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7191348/

相关文章:

html - 如何在 Bootstrap 导航栏中显示水平子菜单?

C++ 模板理解

html - 从语义上构建表单的最佳方法是什么?

swift - Swift 中的计算只读属性与函数

jquery - 动态更新计算器输入结果

html - 如何制作::选择背景不透明度:1?

html - 从响应式网格布局中添加行和删除间隙

ios - 检测标签栏项目选择

html - 使用 CSS 使具有动态面板主体高度的面板填充父容器高度的其余部分

html - 如何在 html 和 css 中点击链接后下拉