Div vs Section:如何在Nav元素中对元素进行分组



我正在制作一个web组件,一个导航栏(或导航栏(。里面有4个部分,标志,菜单,开关,&额外的

问题是,我应该为每个零件使用<div>还是<section>
或者有更合适的元素类型吗?

图示如下:

<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<section>元素表示文档的一个通用独立部分,该部分没有更具体的语义元素来表示。部分应该始终有一个标题,只有极少数例外。

在该页面的下方,MDN可以这样说:

如果仅将元素用作样式包装器,请使用<div>。经验法则是<section>应该在逻辑上出现在文档的大纲中。

因此,在您的情况下,由于(a(您没有每个导航块的标题,并且(b(您只是在风格上对它们进行分组(如果您以大纲格式显示页面,则导航部分不会在大纲中(,我建议保留div标记。

最新更新