HTML5嵌套的部分和标题标签

我有嵌套在另一个部分标签下的部分标签。 再次从1开始标题可以吗?

例如:

<section> <h1>Page Title</h1> <section> <h1>Section Title</h1> <h2>Section Sub Title</h2> <p>Sub section text</p> </section> <section> <h1>Section Title</h1> <h2>Section Sub Title</h2> <p>Sub section text</p> </section> </section> 

谢谢,马克

是的,这是有效的。

不过, HTML5 鼓励使用

该部分嵌套层次的适当级别的标题。

但这不是要求,所以你可以自由select。 在任何地方使用h1都可以移动部分,而不必调整标题等级(尽pipe在移动之后排列顺序不会失效),对于深层次结构(即超过6层 )也是如此。 使用适当的排名可能有助于(老)用户代理没有实现algorithm。


另外请注意,他们鼓励

[…]显式包装切片内容元素中的部分,而不是依靠通过在切片内容的一个元素中具有多个标题而生成的隐含部分。

遵循这个build议并在任何地方使用h1 ,你的例子就是:

 <section> <h1>Page Title</h1> <section> <h1>Section Title</h1> <section> <h1>Section Sub Title</h1> <p>Sub section text</p> </section> </section> <section> <h1>Section Title</h1> <section> <h1>Section Sub Title</h1> <p>Sub section text</p> </section> </section> </section> 

遵循这两条build议,这将是:

 <!-- assuming that this section is a child of the body element --> <section> <h2>Page Title</h2> <section> <h3>Section Title</h3> <section> <h4>Section Sub Title</h4> <p>Sub section text</p> </section> </section> <section> <h3>Section Title</h3> <section> <h4>Section Sub Title</h4> <p>Sub section text</p> </section> </section> </section> 

这工作得很好,不pipe它是否工作风格明智取决于你如何定义你的sectionh1-h6标签。

需要注意的是:IE 7&8之类的老式浏览器不喜欢section标签,并会忽略一些适用于它的样式。 我更喜欢使用div标签,因为它们不依赖于具有支持HTML5标签的浏览器的用户。