因此,我一直在研究重新设计的网站的HTML。多亏了HTML5 shiv,我一直在非常自由地使用 Shiny 的新HTML5标签。因此,我开始觉得自己有很多标签困惑。例如:
<header>
<nav>
<h1 id="logo"><a href="/">Logo Image CSS'd in here</a></h1>
<ul>
<li><a href="/page-1">Page 1</a></li>
<li><a href="/page-1">Page 2</a></li>
<li><a href="/page-1">Page 3</a></li>
<!-- etc. -->
</ul>
</nav>
</header>
我将徽标包含在
<nav>
中,因为我受空间限制,并且删除了显式的Home链接(我的主页只是子页面内容的摘要,并带有内联链接)。因此,从语义上讲,我认为HTML5文档应同时具有<header>
和<nav>
。毕竟,仅一个<nav>
并不意味着它是主页导航(我使用<nav>
包裹了面包屑和页脚链接),我感到漂浮在<ul>
中的<header>
缺少了<nav>
标签。那么我是不是HTML5潮人并且在这里过度使用它?还是这种过度标记(特别是因为
<header>
标签具有所有样式,而<nav>
没有任何样式)是不必要的吗? 最佳答案
好的语义并不在乎最后是否要设置元素的样式。它关心以一种易于理解的方式概述页面。通过将所有这些链接仅放在带有徽标的<header>
元素内,它们并不一定意味着任何东西。但是,通过将它们放在<nav>
元素中,就表示它正在导航,这意味着很多事情,即使用户无法通过样式确定<nav>
元素的存在。
我个人不使用nav元素内多余的无序列表。我从来没有真正理解过使用列表进行导航的论点,除了要样式化的多余元素外,这对我来说似乎很语义化。
关于html - HTML5是否对HTML5不利?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11962866/