<<PREV | TOP | NEXT>> || [要素 INDEX | INLINE 要素 INDEX | BLOCK 要素 INDEX]

BLOCK 要素 INDEX

HTML 文書は一つの HTML 要素から出来ています。この HTML 要素は HEAD 要素BODY 要素とから成り、これらはこの順番で一回ずつ必ず現れます。

BODY 要素の内容になり得る要素を、テキストレベルと、ブロックレベル要素に分けて考えます。テキストレベルの要素と単なる文字を合わせて、インライン要素と呼びます。

<!ENTITY % flow "%block; | %inline;">

一般に、インライン要素に分類される要素は、ブロックレベル要素に分類される要素の内容になり得ますが、その逆は不可です。ブロックレベル要素を、インライン要素の内容に記述する事は出来ません。

要素によっては、他のブロック要素を内容に記述出来る場合がありますが、一般にブロック要素毎に許される内容は異なります。例えば、 P 要素の内容はインライン要素しか許されませんが、 BLOCKQUOTE 要素は内容にブロック要素しか許されません。

ブロック要素リスト
P | H1|H2|H3|H4|H5|H6 | UL | OL | PRE | DL | DIV | NOSCRIPT | BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS

廃止予定の非推奨要素は省略しました。 HTML 4 Transitional の定義に含まれていた非推奨要素は、 XHTML 1.1 では廃止されています。

1.内容モデルがインライン要素であるブロック要素

内容に、任意のインライン要素が定義されているブロック要素が存在します。

P段落
H1, H2, H3, H4, H5, H6見だし
ADDRESSアドレス

これらのブロックレベル要素の内容に許されるものは、単なるテキストと、任意のインライン要素です。

サンプル

<h2>ブロック要素に許される内容</h2>
<p>
ブロック要素の内容に許されるものは、要素毎に異なります。
例えば、 P 要素の内容部には、
単なるテキストと、任意のインライン要素が許されますが、
ブロックレベル要素に分類される要素は P 要素の内容部に現れてはいけません。
例えば、 P 要素の内容に別の P 要素が現れることはありません。
</p>

表示例;

ブロック要素に許される内容

ブロック要素の内容に許されるものは、要素毎に異なります。 例えば、 P 要素の内容部には、単なるテキストと、任意のインライン要素が許されますが、 ブロックレベル要素に分類される要素は P 要素の内容部に現れてはいけません。 例えば、 P 要素の内容に別の P 要素が現れることはありません。

2.内容モデルがブロック要素であるブロック要素

内容に、任意のブロック要素が定義されているブロック要素が存在します。

DIVブロック要素のグループ化
BLOCKQUOTEブロック要素の引用
NOSCRIPTSCRIPT非サポートブラウザのための代替内容

3.内容モデルが決まっているブロック要素

内容として、或る要素が固定的に定義されているブロック要素が存在します。例えば、 UL 要素は内容に LI 要素しか許されません。

要素タイプ意味内容モデル
TABLE表要素CAPTION, TBODY, THEAD, TFOOT, COLGROUP
UL順番無しリストLI
OL順番付きリスト
DL定義付きリストDT, DD
HR水平線空要素
<table>
<caption>表のサンプル</caption>
<tbody>
  <tr>
    <th>見だし1</th><td>データ1-1</td><td>データ1-2</td>
  </tr>
  <tr>
    <th>見だし2</th><td>データ2-1</td><td>データ2-2</td>
  </tr>
  <tr>
    <th>見だし3</th><td>データ3-1</td><td>データ3-2</td>
  </tr>
</tbody>
</table>
<hr>
<ul>
<li>リスト項目1</li>
<li>リスト項目2</li>
</ul>
<hr>
<dl>
<dt>項目1</dt>
  <dd>項目1の説明</dd>
<dt>項目2</dt>
  <dd>項目2の説明</dd>
</dl>
表のサンプル
見だし1データ1-1データ1-2
見だし2データ2-1データ2-2
見だし3データ3-1データ3-2


項目1
項目1の説明
項目2
項目2の説明

4.内容が特殊なブロック要素

目的が特殊であるために、内容に許されるものが条件付で特殊なブロック要素が存在します。

要素タイプ意味内容モデル
FORMフォーム作成要素 FORM 要素自身を除いた任意のブロック要素と SCRIPT 要素
FIELDSETコントロールとラベルのグループ化 単なる文字と、 LEGEND と任意のブロック要素と任意のインライン要素
PRE整形済みテキスト テキスト行の高さを変更する要素を除いた任意のインライン要素。除かれる要素は、「IMG, OBJECT, BIG, SMALL, SUB, SUP」。

HTML 4 Transitional DTD による定義

最後にブロック要素を定義した HTML 4 Transitional DTD の抜粋を挙げます。 HTML 4 Strict DTD では消えている廃止予定の非推奨要素 (Deprecated Elements) が含まれています。

HTML 4 Transitional DTD;

<!ENTITY % block
     "P | %heading; | %list; | %preformatted; | DL | DIV | CENTER |
      NOSCRIPT | NOFRAMES | BLOCKQUOTE | FORM | ISINDEX | HR |
      TABLE | FIELDSET | ADDRESS">
<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
<!ENTITY % list "UL | OL | DIR | MENU">
<!ENTITY % preformatted "PRE">

非推奨要素は旧版との互換の為にサポートされてはいるのですが、将来のバージョンで廃止予定とされているものです。 Transitional に従った文書であっても、避けられる限り使わない方がよいでしょう。

HTML 4 の次バージョン XHTML 1.0 では残されていますが、 XHTML 1.1 では廃止されています。


次に、インライン要素についてまとめてあります。

<<PREV | TOP | NEXT>> || [要素 INDEX | INLINE 要素 INDEX | BLOCK 要素 INDEX]