p 要素since: 31st/Aug./2001; last modified: 12th/Sep./2001
p 要素タイプはテキストモジュールに含まれており、
XHTML 1.1 の内容モデルでは、内容セット Block に含まれ、DTD では %Block.mix;
に含まれます。従って、例えば body
要素タイプの子要素として定義されています。
| 名前 | p |
|---|---|
| 分類 | Block |
| 意味 | paragraph |
| 日本語 | 段落 |
p 要素タイプは、段落を意味します。その内容が一つの段落に対応します。
| 要素 | 属性 | 最小内容モデル |
|---|---|---|
p |
Common |
(PCDATA | Inline)* |
実装: DTD、モジュール: Block Structural
p 要素タイプに定義されている内容は、テキスト水準の要素です。具体的には、 %Inline.mix で定義されています。
p 要素タイプの内容には、 %Inline.mix;
に含まれる要素タイプが定義され得ますが、逆に、p 要素タイプは %Block.mix; であり、 body 要素タイプの直接の子要素になり得ますが、 p
要素タイプ自信や Heading の内容にはなりえません。
次の例は誤りです:
<h1>見出し <p>見出しの内容に p 要素は間違いです。</p> </h1> <p> ここは段落を表す p 要素の内容です。 <p>ここに Heading や p 要素を 含めることはできません。</p> </p>
<body>
<h1>XHTML 1.1 とはなんだろうか</h1>
<h2>1. HTML について</h2>
<p>XHTML は HTML を XML 化したものです。最初に、
HTML の枠組みについて紹介します。</p>
<h3>1.1 論理デザインと視覚デザイン</h3>
<p>見ながら設計していくことを視覚デザインと呼び、
仕組みを考えて設計していくことを論理デザインと呼
びます。</p>
<p>HTML は論理デザイン用の言語ですが、大事なこ
とは何のためにどうなればよいのか、目的と目標を明
確にすることです。</p>
</body>
ここでは便宜的に改行しましたが、ソースでは、段落内での改行はしない方が無難です。ソースでの改行は、解釈時に半角スペースに置き換わります。ソースでの改行が必要なときは、句読点直後に限るように心掛けれてください。
p 要素利用の注意点p 要素タイプの役割は、文章の段落を再現することです。従って、改行目的での利用は慎むべきです。
特殊文字については、文字実体参照と言う仕組みを利用します。例えば、 "<"
はタグの開始記号なので、通常では記述できません。表示したいときは、 "<" と記述します。
| < | < |
> | > |
& | & |
© | © |
® | ® |
| ¢ | ¢ |
£ | £ |
€ | € |
¥ | ¥ |
♥ | ♥ |
| ♠ | ♠ |
♣ | ♣ |
♦ | ♦ |
¿ | ¿ |
á | á |
p 要素に限らず、一般に要素内容の文字列に於いて、ソースでの半角スペース、タブ文字、改行文字などは、連続する分をまとめて一つの半角スペースに置きかえられるか、或は無視されます。元来が英語文書のための定義であった事を思い出して下さい。 全角スペースは反映されますが、これは極特殊な例です。 また、要素の開始、終了タグの直前、直後の半角スペース、改行は無視される可能性が大きい事も注意してください。
特に、ソースでの改行は半角スペースに置き換わるので、段宅途中などでむやみに改行を入れると、おかしなことになります。
これらの規則は、「分かち書き」を常とする、西欧諸語が基準になっているからです。日本語などでは十分注意してください。
このお陰で、ソースでは適当に空白(半角スペース、タブ)と改行を挿入して、自分に便利なように記述することができます。特別に、文章途中で強制的に改行したい場合は、空要素
br を用います:
<p>ここは段落です。 ソースでの改行は、ブラウザでは半角スペース一つで 置き換えられます。改行はウィンドウの大きさに応じ て、自動的に調整されます。強制的に改行したい場合 は、改行したい位置に空要素 br を記述します。<br /> ここで改行されて、新しく一行作ることになります。</p>
プログラムのソースコードや、詩歌のように、単語間の空白・改行にも意味がある場合があります。このとき、 XML
では、当該要素に特殊な属性 xml:space="preserve" を与えます。 XHTML では、 pre 要素タイプに定義されています:
<p>ここは段落要素です。
段落要素内では、
スペースや改行はブラウザには反映しません。
ソースコードの解釈時に、
整理されてしまうと言うことです。</p>
<pre>
pre 要素は
"preformatted text"
を意味し、ソースコードでのテキスト整形が、
解釈された後もそのまま保存されます。
従って、ソースコードで改行すれば、
ブラウザにもそのまま反映されます。
</pre>
上記サンプルソースの表示例:
ここは段落要素です。 段落要素内では、 スペースや改行はブラウザには反映しません。 ソースコードの解釈時に、 整理されてしまうと言うことです。
pre 要素は
"preformatted text"
を意味し、ソースコードでのテキスト整形が、
解釈された後もそのまま保存されます。
従って、ソースコードで改行すれば、
ブラウザにもそのまま反映されます。