3

I'm new to HTML5 and I read the outlining concept and I understood. I tried part of code in this site(to outline my code) :

<!DOCTYPE html>
<article>
  <hgroup>
    <h1>H1</h1>
    <h2>H2</h2>
    <h3>H3</h3>
  </hgroup>
</article>

But the result I am getting is confusing me. I'm getting the following result :

1.Untitled Section
    1.H1

I know the reason why I'm getting 1.Untitled Section in my output, but where does my this part of code gone

<h2>H2</h2>
<h3>H3</h3>

I couldn't see H2 and H3 in my output. What is the reason for it? Explain with an example.

Thanks in advance.

4

3 回答 3

2

仅包括大纲中的(第一个hgroup)最高级别标题。

来自http://dev.w3.org/html5/spec/the-hgroup-element.html

出于文档摘要、大纲等的目的,hgroup 元素的文本被定义为 hgroup 元素的最高级别 h1-h6 元素后代的文本(如果有任何此类元素),并且第一个此类元素如果有多个具有该等级的元素。如果没有这样的元素,则 hgroup 元素的文本是空字符串。

使用点hgroup实际上是从大纲中屏蔽掉后续的标题。所以你看到的行为是元素存在的原因。

于 2012-01-05T11:08:18.137 回答
2

前几天我正在阅读一本 HTML5 书籍,如果我没记错的话,HTML5 组元素只会为第一个标题(边界框)创建一个大纲。

编辑:正如保罗在评论中指出的那样,这里解释得很好:

http://diveintohtml5.info/semantics.html#header-element

于 2012-01-05T11:09:10.267 回答
1

h1 h2 h3 用于在 HTML4.0 和以前的版本中创建部分。从 HTML 5 开始,情况并非如此。现在对section、article、nav等部分有了更好的标记,现在h1、h2、h3的含义只不过是这些标记中的标题和子标题。创建 hgroup 是为了过滤掉使用 h2、h3 等创建的子标题和标语,以免污染大纲。所以你看到的是有意的。如果您删除 hgroup,您将看到所有这些。

于 2012-01-05T11:23:14.537 回答