比方说,我总是想将main
项目中的元素用于不同的页面类型。其中一种页面类型只是产品页面,带有标题和一些部分。哪个变体在语义上是正确的:
一个
<body>
<header>
...
</header>
<main>
<header>
<h1>...</h1>
<img />
</header>
<section>
<h1>...</h1>
<p>...</p>
</section>
<section>
<h1>...</h1>
<p>...</p>
</section>
</main>
<footer>
...
</footer>
</body>
乙
<body>
<header>
...
</header>
<main>
<article>
<header>
<h1>...</h1>
<img />
</header>
<section>
<h1>...</h1>
<p>...</p>
</section>
<section>
<h1>...</h1>
<p>...</p>
</section>
</article>
</main>
<footer>
...
</footer>
</body>
我会说A
不可能是正确的。根据工作草案:
该
header
元素表示其最近的祖先分段内容或分段根元素的介绍性内容。该
main
元素不分割内容,对文档大纲没有影响。
因此,body > main > header
inA
将表示介绍性内容,body
它是分段根元素。
对于那些可能会问的人,为什么不B
使用main
. 这有我总是使用main
或不使用的技术原因。并且在主要内容中还有其他包含多篇文章的页面类型。