last modified 5th/Oct. 2000
通常の文章は段落単位に考える事が出来ます。段落一つづつを P 要素で表します。
P 要素はブロック要素で、 BODY 要素の直接の子要素に成り得ますが、その子要素にはインライン要素しか成り得ません。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <title>Headings の例</title> </head> <body> <h1>見だし要素とは</h1> <p>この節では、見だし要素について考えます。</p> <h2>ブロック要素としての見出し要素</h2> <p>見だし要素はブロック要素です。 この点から見だし要素について考えてみましょう。</p> <p>...省略...</p> <h2>見だし要素の子要素</h2> <p>今度はその内容について考えてみます。 見だし要素自身はブロックレベル要素ですが、 その子要素にはインライン要素しか成り得ません。</p> <p>...省略...</p> </body> </html>
<!ELEMENT P - O (%inline;)* -- paragraph -->
<!ATTLIST P
%attrs; -- %coreattrs, %i18n, %events --
%align; -- align, text alignment --
>
Transitional DTD では、内容文字列の水平位置揃いを指定する align 属性が与えられますが、これは廃止予定の非推奨属性です。 align 属性の使い方と、 CSS による実現方法は align 属性の説明を参照下さい。
P 要素の開始タグは必須ですが、終了タグは省略可能です。 P 要素は子要素にインライン要素しか持ち得ませんので、ブロック要素の開始タグがあれば、 P 要素の終了タグがその直前に省略されていると解釈されます。
P 要素の終了タグの省略;
<p>ここは段落を表す P 要素の内容部です。 この要素は終了タグが省略可能です。 <p> 従って、このように書いても間違いでは有りません。 <h2>終了タグの省略</h2> <p>H2 要素はブロックレベル要素ですから、 二つ目の P 要素の終了タグが H2 要素の開始タグの直前に 省略されたものと解釈され、自動的に補われます。 </p>
上の例は間違いでは有りませんが、古いブラウザに混乱を引き起こす可能性がありますので、終了タグの省略は御奨めできません。
HTML 2 成立 (1995/Dec.) 以前には、 P 要素に終了タグが存在しなかった事を反映しているのかとも思われますが、そのような事情も鑑み、混乱を避けるために終了タグを明記する様に強く御奨めします。
P 要素に限らず、一般に要素内容の文字列に於いて、ソースでの半角スペース、タブ文字、改行文字などは無視されるか、連続する分をまとめて一つの半角スペースに置きかえられるか、或は無視されます。元来が英語文書のための定義であった事を思い出して下さい。
全角スペースは反映されますが、これは極特殊な例です。
また、要素の開始、終了タグの直前、直後の半角スペース、改行は無視される可能性が大きい事も注意してください。
<p> これは P 要素の内容です。 どこで改行しても、 どこに 空白 を入れても、 閲覧時には、半角スペース一つにまとめられます。 </p> <p>また、要素のタグ前後での空白、改行は無視されます。</p>
タグの直前直後の空白、改行は無視されますので、タグの直前、直後の空白、改行はなくす様にした方がファイル・サイズの面では有利です。その分、ソースを見た時にメンテナンス性が下がりますので、程々に考えましょう。
段落の途中で改行したい場合は、インライン要素である BR 要素を用います。逆に云えば、 BR 要素以外の改行記号は原則的に無視され、ブラウザが表示可能枠合わせて自動的に改行します。
<p> 文章の途中で強制的に改行する場合は、 BR 要素を利用します。<br> BR 要素は、開始タグのみで終了タグが存在しない空要素です。 </p>
例外的に空白、改行をテキストソースの通りに反映させたい場合は、 PRE 要素を利用します。
通常の文章中で、タグの区切り文字 <, >
をキーボードから直接打って利用する事は出来ません。
この種の文字があれば、ブラウザはタグの始まりと解釈し、未知のタグであると認識するため、無視されるか、エラーを起こします(未知のタグは無視する様に推奨されている)。
これらの文字に限らず、記号、特殊文字が、タグやスクリプトの一部であると解釈されてしまうのを避けるために、文字実体参照と云う仕組みが用意されています。