因此,我一直在研究重新设计的网站的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/

10-13 03:19