Html <;李>;没有<;ol>;或<;ul>;?

Html <;李>;没有<;ol>;或<;ul>;?,html,list,semantics,listitem,Html,List,Semantics,Listitem,我的网站的h1也是“主页”链接,所以很明显我把它放在导航标签内。导航中的其他链接最初放在无序列表中,如下所示: <nav> <h1><a href="#" class="active">Site Name</a></h1> <ul> <li><a href="#">Nav Item 1</a> <li><

我的网站的h1也是“主页”链接,所以很明显我把它放在导航标签内。导航中的其他链接最初放在无序列表中,如下所示:

    <nav>
      <h1><a href="#" class="active">Site Name</a></h1>
      <ul>
         <li><a href="#">Nav Item 1</a>
         <li><a href="#">Nav Item 2</a>
         <li><a href="#">Nav Item 3</a>
       </ul>
    </nav>

标准,对吗?可以想象,在子页面上,导航保持不变,但“active”类应用于相关导航项

问题出在这里。在移动屏幕宽度下,导航压缩到下拉菜单中,“活动”链接是下拉菜单上方显示的唯一链接。在主页上,h1是活动链接,这很好,但是我的CSS在子页面上看起来会变得超级混乱


我注意到,一些备受尊敬的前端开发人员使用的列表项没有有序/无序列表。这些人都很尊重语义学,所以我怀疑他们可能在想

所以我被卡住了。将我的h1放在ul中似乎是错误的,但这也似乎是错误的:

    <nav>
      <li><h1><a href="#" class="active">Site Name</a></h1></li>
      <li><a href="">Nav Item 1</a></li>
      <li><a href="">Nav Item 1</a></li>
    </nav>

  • 我知道我几乎可以用任何方式标记HTML来获得我想要的外观,但我希望在避免CSS/JS噩梦/或任何黑客攻击的同时尽可能做到语义上的一致。

    :

    允许的父元素:

    ul、ol、菜单

    应该避免任何其他用途,因为浏览器很可能不支持它


    规范禁止这一事实意味着除了每个开发人员为自己使用而发明的语义之外,没有公认的语义。

    “一些备受尊敬的前端开发人员使用没有有序/无序列表的列表项”。愿意分享你指的是谁吗?…仅仅因为别人这么做。。。不能使它正确…为什么它不正确?除了验证。我对语义很好奇。每个LI项都是一个“[L]ist[I]tem”,并且列表项与列表有依赖关系。从语义上讲,列表可以是有序的,也可以是无序的,HTML为每个OL+UL提供了一个选项。考虑到作为一名开发人员,我经常希望父元素对整个列表进行样式化,OL/UL非常有意义。。。只有每个开发人员为自己的使用而发明的。决定反对发明和传统。现在使用
  • 等。我不想指定它是有序列表还是无序列表。可能是/或。这是一个选项菜单。他们的顺序(或缺少顺序)是偶然的。