主元素可以嵌套在div内部还是必须是body的直接子元素?

8
我正在阅读文档,但仍然不明白 <main> 元素是否可以嵌套在其他元素内,比如说。
<div>
    <div>
        <main>...</main>
    </div>
</div>

或者它必须是body元素的直接后代,例如:
<body>
    <main>...</main>
</body>

我看到的所有示例都显示主要内容直接放在body标签内...
所以我有点困惑:把主要内容放在body以外的其他元素内是否正确?(当然只使用一次)
1个回答

13

根据规范

4.4.13. 主要元素

分类:

  • 流内容。
  • 可感知的内容。

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

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

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


从上述引用的同一网站:
一个层次正确的main元素是指其祖先元素仅限于htmlbodydiv、没有可访问名称自治自定义元素form。每个main元素必须是一个层次正确的main元素
- Alex Pappas

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