見出しや段落のように、文書の骨組みとなる一つのまとまりを表す要素です。
ほかのブロックレベル要素や、インライン要素を含むことができます。一般的なブラウザでは、前後が開業されて表示されます。
address、blockquote、dir、div、dl、fieldset、form、h1~h6、hr、noscript、noframes、ol、p、pre、table、ul
・インライン要素
文章のある一部にのみ、意味づけをするような要素です。文字列やほかのんライン要素を含むことができますが、ブロックレベル要素を含むことはできません。一般的なブラウザでは、前後に改行ははいりません。インライン要素の中には、置換要素と呼ばれる要素があります。
a、abbr、acronym、applet、b、bdo、big、br、button、cite、code、dfn、em、i、iframe、img、input、kbd、label、map、object、q、samp、script、select、small、span、strong、sub、sup、textarea、tt、u、var
・置換要素
報時される際にその要素の内容が指定された内容と置き換わるような種類の要素です。
button、iframe、img、input、object、select、txtareaなど
ブロックレベル要素とインライン要素
要素の多くは、より詳しくはブロックレベル要素とインライン要素に大別され、ほかのどの要素を入れられるか(子要素にできるか)などの決まりがあります。
例えば、文章にリンクを設定したいとき、一般的なブラウザでは下の例のどちらで記述しても同じように表示され、リンクもきちんと機能します。しかし、HTML4.01では、インライン要素のa要素にブロックレベル要素のp要素を含めることはできないという決まりがあるため、一つ目の書き方は誤りということになります。正しくは、二つ目の書き方のようにp要素の中にa要素を入れて表します。
〈p〉〈a〉HTML4.01仕様書へのリンク〈/a〉〈/p〉
また、文書型宣言がstrict DTDの場合、body要素の中に直接記述できるのは、ブロックレベル要素、script要素、ins要素、del要素だけです。インライン要素は必ず何らかのブロックレベル要素に含まれている必要があります。
間違った記述
〈body〉
〈a〉HTML4.01仕様書へのリンク〈/a〉
〈/body〉
正しい記述
〈body〉
〈p〉〈a〉HTML4.01仕様書へのリンク〈/a〉〈/p〉
〈/body〉
こうした決まりを内容モデル(コンテンツモデル)と言い、文書型定義で詳細に定義されています。