部分为主要部分

时间:2013-02-14 11:48:26

标签: html html5 semantic-markup

使用section元素作为页面的主要内容部分,这在语义上是否正确?


3 个答案:

答案 0 :(得分:4)

你可以,但我鼓励你改用新的main元素!

e.g。

<main role="main">

</main>

请参阅the main elementfurther examples on using the main element

答案 1 :(得分:3)

广泛地说,没有。

HTML5Doctor says

  

我们一直在做错的是使用部分来包装内容以便为其设置样式,或者从主要内容区域划分导航,页眉,页脚等。这些是div的作业,而不是节。

自撰写该文章以来,<main>元素已经发明,用于确切的用例。

答案 2 :(得分:0)

您可以说,只要您的标题(section - h1)不是分段元素的标题,就会隐含使用h6

所以这两个文档在语义上是等价的:

1)

<body>
  <h1>John's cool site</h1>
  <nav>…</nav>
  <h2>A nice article</h2> <!--- main content starts with this heading -->
  <p>I like bees.</p>
</body> <!-- main content ends at the end of the document -->

2)

<body>
  <h1>John's cool site</h1>
  <nav>…</nav>
  <section><!--- main content starts with this opening tag -->
    <h2>A nice article</h2> <!-- now you could use h1 here, too --> 
    <p>I like bees.</p>
  </section><!-- main content ends with this closing tag -->
</body>

所以,是的,您可以使用section作为主要内容(在许多情况下,article会更合适)。您可以将<{1}}用于每个标题内容组(当然,除非应使用sectionarticlenav)。

只要对所有这些标题内容组使用切片元素,就可以在任何地方使用aside

甚至有一些边缘情况需要明确地使用切片元素作为主要内容。即,如果您的网页包含的内容不属于主要内容且不适合h1headerfooter(也不适用address / {{1} })。如果您在这种情况下不使用aside(或nav),则此内容仍属于主要内容。

您应该使用section / article作为主要内容的更多(我甚至会说,非常)常见示例将是您需要单独section /的页面article主要内容,例如博客帖子页面:整个页面可能有一个header(其中包含有关整个博客的信息)。现在,如果我们不使用分段元素作为主要内容(→博客文章),我们就不能单独为该文章提供单独的footer(包含作者信息,标签,类别等)。

footer

所以我建议:如果有疑问,请明确使用footer / <body> <h1>John's blog</h1> <article> <h1>My first blog post</h1> <p>…</p> <footer> <!-- applies to the blog post only (article) --> Tags: introduction, aboutme </footer> </article> <footer> <!-- applies to the whole page (body) --> Blog of John Doe — 2013 <p><small>All content licensed under Creative Commons</small></p> </footer> </body> 作为网页的主要内容。