另一个标签可以在HTML 5标题内(即h1,h2,h3等......)吗?

时间:2011-05-05 08:59:08

标签: html html5 w3c

我不确定HTML 5中有关标题的惯例,但我想知道我是否可以在<small>中添加<h3>,就像这样(这可能适用于任何标记内的任何标记)标题标签):

<h3>Payment details <small>(this is your default card)</small></h3>

非常感谢

4 个答案:

答案 0 :(得分:14)

是的,该标记验证。您可以在http://validator.w3.org/

上自行查看

HTML5需要注意的是对块级元素概念的更改:https://developer.mozilla.org/en/HTML/Block-level_elements

答案 1 :(得分:6)

我认为规范中对此没有任何限制。只有Void元素不能有孩子。见http://dev.w3.org/html5/markup/syntax.html#void-element

虽然H1,H2,H3等通常会以单一尺寸呈现,而对于像“(这是您的默认卡片)”这样的子标题,您可能会使用较低的H,例如H4。

答案 2 :(得分:5)

标题元素的规范:

说它有分阶段内容模型:

Content model:
    Phrasing content.

查看分阶段内容模型的部分规范:

它说:

  

注意:大多数归类为短语内容的元素都只能   包含本身被归类为措辞内容的元素,   没有任何流量内容。

除此之外,你不能将标题放在另一个标题中 - 这是来自W3C validator

Error Line 1, Column 23: Heading cannot be a child of another heading.

<!DOCTYPE html><h1><h2></h2></h1>

虽然我在规范中找不到它明确说明的内容,但是有些限制看似相当具体。这可能会产生一些非常奇怪的行为,例如上面的HTML实际上会被解析为

<h1></h1><h2></h2>

e.g。请参阅此SOQ,了解它可能导致的间接问题:

万一有人碰到这个......

答案 3 :(得分:0)

我不认为规范中对此有任何限制。只有void元素才能生成子元素。见http://dev.w3.org/html5/markup/syntax.html#void-element

  

void元素是一个元素,其内容模型在任何情况下都不允许它拥有内容。 Void元素可以具有属性。

     

以下是HTML中的void元素的完整列表:

area, base, br, col, command, embed, hr, img, input, keygen, link,
meta, param, source, track, wbr

虽然h1,h2,h3等通常会以单一尺寸呈现。对于你的&#34;(这是你的默认卡)&#34;您可以使用较小的标题,例如H4。