我正在制作一个web组件,一个导航栏(或navbar)。里面有四个部分,标志,菜单,切换器,和额外。
问题是,我应该对每个部分使用 插图是这样的:?
还是有更合适的元素类型?<nav class="foo-navbar">
<div class="logo">{ props.logo }</div>
<div class="menus">{ props.children }</div>
<div class="toggler">{ props.toggler }</div>
<div class="extra">{ props.extra }</div>
</nav>
这是一个很棒的问题,并且与语义HTML相关。根据MDN,当没有其他标记真正相关或合适时,我们应该使用section标记。如果意图是一个实际的节,那么它还应该包括一个节头。
HTML元素表示文档的一个通用的独立部分,该部分没有更具体的语义元素来表示。章节应该总是有一个标题,只有极少数例外。
在这一页的后面,MDN有这样的说法:
如果只将元素用作样式包装,请使用 因此,在您的情况下,由于(a)您没有每个nav块的标题,(b)您只是在风格上对它们进行分组(如果您以大纲格式显示页面,则nav部分不会在大纲中),我建议保留div标记。应该在逻辑上出现在文档的大纲中。