侧边栏应该放在<main>标签内吗?

8

我对<main>元素与网站侧边栏的关系不太确定,希望能得到一些指导,或者至少是群体共识。;) 给定以下页面元素:

<body>
    <header>Logo and stuff</header>
    <nav>Main Nav</nav>
    ...
    <footer>Copyright blah</footer>
</body>

如果要替换掉“...”,那么应该如何安排<main>元素和侧边栏元素的位置呢?
选项1:
<main>
    <article>...</article>
    <div class='sidebar'>Sidebar</div>
</main>

方案二:

<main>
    <article>...</article>
</main>
<div class='sidebar'>Sidebar</div>

选项3:

  #####
 #     #
       #
    ###
    #

    #

3
我会选择选项3。 - Matt Saunders
1个回答

12

来自MDN(重点是我的):

<main>元素的内容应该对文档或包含元素的部分是唯一的。如果文档或文档部分中重复出现的内容,例如侧边栏、导航链接、版权信息、网站标志和搜索表单不应该被包含,除非搜索表单是页面的主要功能。

因此,选项2似乎是惯用选择。


1
请在引用中的<main>部分周围添加反引号。我尝试按建议的编辑添加它们,但是“编辑必须至少有6个字符不同”。 - Sandwich

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接