<main> 元素可以嵌套在 div 中还是必须是 body 的直接后代?

neo*_*Dev 4 html semantic-markup

我正在阅读文档,但我仍然不明白该<main>元素是否可以嵌套在其他元素中,例如

<div>
    <div>
        <main>...</main>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

或者它必须是身体的直接后代,例如

<body>
    <main>...</main>
</body>
Run Code Online (Sandbox Code Playgroud)

我见过的所有例子都将 main 显示为 body 的直接后代......

所以我有点困惑:将 main 放在 body 之外的其他元素中是否正确?(当然只用一次)

zzz*_*Bov 7

根据规格

4.4.13. 主要元素

类别:

  • 流内容。
  • 触手可及的内容。

可以使用此元素的上下文:

流内容的预期,但没有<article><aside><footer><header><nav>元素的祖先。

由于<body><div>元素可能包含流内容,您可以安全地嵌套它们。