我正在尝试使用 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/