web-dev-qa-db-ja.com

別のタグをHTML 5見出し(つまり、h1、h2、h3など)の内側に置くことはできますか?

HTML 5の見出しに関する規則についてはわかりませんが、<small><h3>を追加できるかどうかを知りたいので、次のようにします(これは、すべての見出しタグ内のすべてのタグに適用できます)。 :

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

どうもありがとう

21
Shaoz

はい、そのマークアップは検証されます。 http://validator.w3.org/ で自分で確認できます

ただし、HTML5について知っておくべきことは、ブロックレベルの要素の概念の変更です https://developer.mozilla.org/en/HTML/Block-level_elements

14
Ian Oxley

仕様にこれに関する制限はないと思います。 Void要素にのみ子を含めることはできません。 http://dev.w3.org/html5/markup/syntax.html#void-element

通常、H1、H2、H3などは単一のサイズでレンダリングされ、「(これがデフォルトのカードです)」のようなサブヘッダーの場合は、より低いHを使用できます。 H4。

6
planetjones

見出し要素の仕様:

それは段階的なコンテンツモデルを持っていると言います:

Content model:
    Phrasing content.

フェーズコンテンツモデルの仕様の一部を見る:

それはこう言います:

注:フレージングコンテンツとして分類されているほとんどの要素には、フローコンテンツではなく、それ自体がフレージングコンテンツとして分類されている要素のみを含めることができます。

これとは別に、見出しを別の見出しに入れることはできません-これは W3Cバリデーター からです:

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

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

仕様でこれを明示している箇所は見つかりませんでしたが、かなり具体的な制限があります。これにより、上記のHTMLが実際に次のように解析されるなど、非常に奇妙な動作が発生する可能性があります。

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

例えば発生する可能性がある間接的な問題の例については、このSOqを参照してください。

誰かがこれに遭遇した場合に備えて...

5
icyrock.com

仕様にこれに関する制限はないと思います。子を持つことができないのは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などは単一のサイズでレンダリングされます。 「(これがデフォルトのカードです)」のようなサブヘッダーの場合、小さいヘッダーを使用できます。 h4。