嵌套HTML5节标签

sty*_*ler 29 html5

这是使用<section>标签的正确方法吗?

<section id="container">
   <section id="outer">
      <section id="inner">
      </section>
   </section>
</section>
Run Code Online (Sandbox Code Playgroud)

我想弄清楚我是否应该只使用一个节ID,并将其他两节保留为div?

Pau*_*aul 48

如果你只是使用这些元素将东西放在某些位置/样式的东西中,那么你应该使用div.

该部分实际上是用于对属于一起的内容进行分组 - 你不应该有一个没有标题(H1或类似)元素的部分描述该部分包含的内容......过去我认为有些人犯了类似的错误:

http://html5doctor.com/the-section-element/

从规格:

注意: section元素不是通用容器元素.当为了样式目的而需要一个元素或为了编写脚本时,鼓励作者使用div元素.一般规则是,只有元素的内容在文档的大纲中明确列出时,section元素才是合适的.

话虽如此,嵌套截面元素是完全可以接受的.也许是这样的:

<section>
    <h1>Portishead</h1>
    <p>Portishead are a cool band from Bristol</p>
    <section>
        <h1>Dummy (album)</h1>
        <p>some info....</p>
        <img src="..." />
    </section>
    <section>
        <h1>Portishead (album)</h1>
        <p>some other info info....</p>
        <img src="..." />
    </section>
</section>
Run Code Online (Sandbox Code Playgroud)

  • 就像我怀疑的那样.w3schools与w3c没有任何联系.请阅读[w3fools](http://w3fools.com). (3认同)
  • 如果那里只有 h1 而没有 p,您是否仍将部分用作父项。这就是我的困境。 (2认同)
  • 这个例子并不是那么好,因为它误用了嵌套的“&lt;section&gt;”,而实际上应该使用“&lt;ul&gt;”。这会(已经)更好:`&lt;section&gt;&lt;h1&gt;portishead&gt;&lt;/h1&gt;&lt;section&gt;&lt;h2&gt;传记&lt;/h2&gt;...&lt;/section&gt;&lt;section&gt;&lt;h2&gt;discography&lt; /h2&gt;&lt;ul&gt;...&lt;/ul&gt;&lt;/section&gt;`。 (2认同)

zzz*_*Bov 8

简短回答:您提供的代码在语义上无效.

答案很长:

section元素用于标记内容的各个部分.内容的每个部分(即简介,摘要,内容,结论)都可以有小节.

如果您将这些元素用于结构目的,则应该使用div元素.它们在语义上毫无意义.

这将更加语义化:

<section id="introduction">
  <div id="outer">
    <div id="inner">
      Some content
    </div>
  </div>
</section>
Run Code Online (Sandbox Code Playgroud)

这将是标记嵌套部分的语义方式:

<section id="content">
  <h1>Fizz Buzz</h1>
  <section id="chapter-1">
    <h1>Foo bar baz</h1>
    ...
  </section>
  <section id="chapter-2">
    <h1>Lorem ipsum dolor</h1>
    ...
  </section>
  ....
</section>
Run Code Online (Sandbox Code Playgroud)

  • 第一个标签很好,它不仅是用于样式的容器。但我在这里看到其他问题:拥有多个 h1 标签并不是一个好主意(尤其是在 SEO 上下文中),并且嵌套部分的标题也应该有下一个“h”标签。例如 h2 表示内容, h3 表示章节。 (3认同)