我不确定 HTML5 中的标题约定,但我想知道是否可以在 <h3>
中添加一个 <small>
,就像这样(这适用于任何标签内部的任何标题标签):
<h3>Payment details <small>(this is your default card)</small></h3>
是的,那个标记是有效的。您可以在http://validator.w3.org/上自行检查。
需要注意的是,在HTML5中,块级元素的概念发生了变化:https://developer.mozilla.org/en/HTML/Block-level_elements
标题元素的规范:
规范表明它具有分步内容模型:
Content model:
Phrasing content.
查看与分阶段内容模型相关的规范部分:
它说:
注意:大多数被归类为分阶段内容的元素只能包含那些本身被归类为分阶段内容的元素,而不能包含任何流内容。
此外,您不能将标题放在另一个标题中 - 这是来自W3C验证器的信息:
Error Line 1, Column 23: Heading cannot be a child of another heading.
<!DOCTYPE html><h1><h2></h2></h1>
<h1></h1><h2></h2>
例如,查看此SOq以了解它可能引起的间接问题:
以防万一有人遇到这种情况...
我认为规范中没有任何限制。只有空元素不能有子元素。请参见http://dev.w3.org/html5/markup/syntax.html#void-element
尽管通常H1、H2、H3等标题会以相同的大小呈现,但对于类似于"(this is your default card)"这样的子标题,可以使用较小的H,例如H4。
<h1>bla<h2>bla</h2></h1>
是无法通过验证的,因为“标题不能是另一个标题的子元素”。 - RubenGeert我认为规范中没有对此进行限制。只有无内容元素不能具有子元素。请参见http://dev.w3.org/html5/markup/syntax.html#void-element。
无内容元素是指其内容模型在任何情况下都不允许其具有内容的元素。无内容元素可以具有属性。
以下是HTML中无内容元素的完整列表:
area, base, br, col, command, embed, hr, img, input, keygen, link,
meta, param, source, track, wbr
通常情况下,h1、h2、h3等标题会以相同的字体大小呈现。但是对于像“(这是您的默认卡片)”这样的子标题,您可以使用较小的标题,例如h4。