divタグからラベルを含めることはできませんなぜ - HTML5要素の分類と内容モデルを学習

私たちはもはや、インラインブロック要素によって、新しいHTML標準に従ってするタイプを区別することを知っています。それはタグを見つけると、div要素のCSSボックスモデルが含まれている方法を変更することはできませんときだから我々は、divタグの内側にラベルを使用しています。

要素の分類

HTML5は、要素7つのカテゴリに分類されます。

メタデータ

フロー

セクショニング

見出し

フレージング

埋め込み

対話方式

分類セットは、互いの間にいくつかの交差点(要素が同時に複数のカテゴリに属する​​ことができる)、それらの交差関係として提示があります。

インラインまたは表示:ブロックこの分類とインラインでその、HTML5要素に注意し、ブロックは任意の関係を持っていない、任意の要素を表示するためにCSSで定義することができます。7つの主要なカテゴリに加えて、のようなスクリプト、支持要素として、まだいくつかのマイナーな分類があります。

メタデータ(メタデータ要素)

名前が示すように、メタデータは、これらの要素を参照する文書のメタデータ情報要素を定義する - その効果は以下のとおりです。インパクトは、その上の他のノードの動作を示すために、文書やその他の外部リソースとドキュメント間の関係を定義して。次の要素は、メタデータを属します。

ベース、リンク、メタ、noscript要素、スクリプト、スタイル、テンプレート、タイトル

流れ(フロー要素)

すべてbodyタグ内に配置することができ、文書の内容を構成する要素は、フロー要素の財産です。したがって、ベース、リンク、メタ、スタイル、タイトルおよび他の要素に加えて、唯一のheadタグに配置することができ、すべての要素の残りの部分は、フロー要素を属します。

、略称、住所、地域、記事、さておき、オーディオ、B、BDI、BDO、BLOCKQUOTE、BR、ボタン、キャンバス、引用、コード、コマンド、データリスト、デル、詳細、DFN、DIV、DL、EM、埋め込み、フィールドセット、フィギュア、フッター、フォーム、H1、H2、H3、H4、H5、H6、ヘッダ、のhgroup、時間、I、IFRAME、IMG、入力、イン、KBD、keygenの、ラベル、マップ、マーク、数学、メニュー、メーター、NAV、NOSCRIPT、オブジェクト、OL、出力、P、予備、進行、Q、ルビー、S、SAMP、スクリプト、セクション、選択、小さい、スパン、強い、スタイル(如果该元素设置了属性スコープ)、サブ、SUP、SVG、テーブル、テキストエリア、時間、U、UL、VAR、ビデオ、WBR、テキスト

セクショニング(セクション要素)

ページ構造は、特に、以下の4つを含む、ことを意味する定義された要素をセクショニング。

記事、さておき、NAV、セクション

見出し(タイトル要素)

見出しを属するすべてのtitle要素、それは、次の6つの要素であります:

H1、H2、H3、H4、H5、H6

フレージング(段落要素)

Pラベルは要素がフレージング要素が属する段落のコンテンツを構成する全てに配置することができます。したがって、すべての要素は、フローフレージング要素を属します。

この定義については、個人的に私は、テキストは、限り、それが含まれているように、pタグ内の段落の内容の一部になっていない場合、あなたはフレージング要素を呼び出すことができ、それが簡単に、実際には、単語の誤解につながる「テキスト」の要素を使用すべきではないと思います。

(それだけフレーズ要素を含む場合)、略称、領域、オーディオ、B、BDI、BDO、BR、ボタン、キャンバス、引用、コード、コマンド、データリスト、デル(それだけフレーズ要素を含む場合)、DFN、 EM、埋め込み、I、IFRAME、IMG、入力、イン(それが唯一のフレージング要素が含まれている場合)、KBD、keygenの、ラベル、マップ(それが唯一のフレージング要素が含まれている場合)、マーク、数学、メートル、noscript要素、オブジェクト、出力、進捗状況、qは、ルビー、S、SAMP、スクリプト、選択、小さな、スパン、強い、サブ、SUP、SVG、テキストエリア、時間、U、VAR、ビデオ、WBR、テキスト

あまり正確類推:HTML5 HTML4のインライン要素でフレーズ要素は、実質的に定義されています。

内部フレージングのフレージング要素は、一般的にのみ、他の要素が含まれています。

埋め込まれた(埋め込まれた素子)

Webページに埋め込むためのすべての外部リソース要素が埋め込まれた素子9は、具体的には、以下を含み属します。

オーディオ、ビデオ、IMG、キャンバス、SVG、IFRAME、埋め込み、オブジェクト、数学

インタラクティブ(対話型要素)

ユーザーインターフェイス要素に関連するすべてのインタラクティブな要素に属します。

、オーディオ(セットはプロパティを制御する場合)、ボタン、詳細、埋め込み、IFRAME、IMG(設定USEMAPプロパティの場合)、入力(type属性が状態を隠されていない場合)、keygenの、ラベル、メニュー(type属性ツールバーの場合状態)、オブジェクト(プロパティがUSEMAP設定されている場合)、SELECT、TEXTAREA、ビデオ(セットプロパティを制御する場合)

明瞭な

すべての要素は、触知可能な要素と呼ばれる子要素を持っている必要があります。必要のサブ要素を排除することによって、例えば、BR要素、したがって触知可能な属しません。

スクリプト支持

任意のショーせずにページそのものではなく、2を含むページ要素に関連付けられたスクリプト:

スクリプト、テンプレート

コンテンツモデル(コンテンツモデル)

要素の上記分類に基づいて、HTML5標準文書は、モデルの任意の要素の内容を定義 - 要素に、要素がここで種子合法です。

例えば、p個の要素に対して、P元素のみようなdiv要素として子として、非フレージングためフレージング要素を受け入れることを意味し、そのコンテンツモデルフレージングは​​、受け入れられません。同様に、コンテンツ要素のLi流のモデル、したがって、サブエレメントのli要素として使用することができる任意の本体要素に配置することができます。

その子の正当性の面での要素をクリア(透明)のコンテンツモデルについて - 透明コンテンツモデル(透明):内容モデルは要素を定義するには、分類の特別な種類を使用してHTML5標準の文書、ことは注目に値することです親要素によって決定され、bodyタグまでの控除がまだ親不透明要素のいずれかの内容モデルを見つけることがあれば、;親要素の内容モデルが透明のままである場合、あなたは祖父の要素をチェックし、というようにすることができます透明要素は、任意の内部要素のフローを含むことができます。

適切にネストされたラベル

密接にリンクしているページヘッダのルール要素を入れ子になったし、DTDを宣言し、HTML5の要素とコンテンツ分類モデルを理解することによって、我々はより明確に私たちの関係のネストされた要素を導くことができます。ほとんどのブラウザは、フォールトトレランスを持っていますが、奇妙なものは何もありません表示するようにコードを記述しますが、プロの開発者として、私たちは、HTML5は非常に広い志向のブラウザである場合でも、そのコードは細心のあるべき取らなければならないが、我々がすべきW3Cに準拠するために、唯一の標準堅牢なコードので、より優れた拡張性と互換性を持つことになります。

概要

共同divタグを含めることができるかどうかは、だからカテゴリコンテンツ親要素のモデルとタグ内のコンテンツに依存します。例えば、我々は、p>プロセスのイン> A> divの合法性を見てこれです:、コンテンツモデルのp要素はフレージングコンテンツである自身INSそれは入れ子にすることができフレージングのコンテンツに属し、この時点でコンテンツモデルイン要素が透明なので、これはP>正当性をチェックすることができるようにする必要があるかどうか、そのようにP>イン>要素は、正当な、フレージングのコンテンツに属します。この時点での正当性がdiv要素が渡さ含まれているので、内容モデルは要素は、チェックイン透明であり、 > DIVと小切手P>のdivに渡さ; divのコンテンツをフレージングないので、これは、ネストされた法的ではありません。

おすすめ

転載: www.cnblogs.com/homehtml/p/11800126.html