<nav>
可以放在页面的页眉<header>
元素内或外。对于同时具有二级和主导航的网站,通常将二级导航包含在页眉<header>
元素内的<nav>
元素中,并将主导航作为一个在页眉<header>
元素之外的<nav>
元素来呈现。然而,如果网站没有二级导航,则通常将主导航包含在页眉<header>
元素内的<nav>
元素中。如果按照这些示例进行操作,我的内容结构将基于是否包含二级导航。这引入了一种在内容和样式之间感觉不必要和不自然的耦合。
是否有更好的方法,使得我不需要根据是否包含二级导航将主导航从页眉
<header>
元素内移到外面呢?主导航和二级导航的示例:
<header>
<nav>
<!-- Secondary Navigation inside <header> -->
<ul>
<li></li>
</ul>
</nav>
<h1>Website Title</h1>
</header>
<nav>
<!-- Main Navigation outside <header> -->
<ul>
<li></li>
</ul>
</nav>
OnlineDegrees.org是一个示例网站,遵循上述模式。
仅主要导航示例
<header>
<h1>Website Title</h1>
<nav>
<!-- Main Navigation inside <header> -->
<ul>
<li></li>
</ul>
</nav>
</header>
Keyzo.co.uk 是一个遵循上述模式的示例网站。
《Introducing HTML5》摘录 — 添加于02-Feb-11, 7:38 AM
由 Bruce Lawson 和 Remy Sharp 所著的Introducing HTML5一书对此作了解释:
标题也可以包含导航。这对于整个站点的导航来说非常有用,特别是在模板驱动的站点上,整个
<header>
元素可能来自一个模板文件。当然,并不是一定要将
<nav>
放在<header>
中。这主要取决于您是否认为全站导航应该放在全站头部,以及易于样式设置的实际考虑因素。
根据最后一句话,章节作者Bruce Lawson承认"关于样式易用性的实际考虑因素"产生了内容和样式的耦合。