段落である<p>要素についての解説です。
<p>要素は、文書中の一段落です。
<p>要素は、以下の文書型で利用出来ます。
<p>要素はテキストモジュールに属します。
<p>要素はブロックレヴェル要素です。
<p>要素の内容は、インライン要素に限られます。
<p>要素には、以下の属性が定められております。
以下に挙げる<p>要素の属性はHTML 3.2, トランジッショナル文書型, フレームセット文書型及びオープンウェーヴ社が定めた XHTML モバイル・プロファイルでのみ利用出来る属性で、排除勧告が出されております。
内容テキストの配置を指定します。
値には以下の四つがあります。
leftrightcenterjustify<p>要素は内容としてインライン要素のみが入れられます。
このため、リストなどのブロックレヴェル要素を中に入れようとしても、入れる事が出来ません。
当該ブロックレヴェル要素の直前で<p>要素を終了させ、当該ブロックレヴェル要素の直後で再度新たな<p>要素を開始する事になります。
<p>要素は上述の通り内容としてブロックレヴェル要素は入れられません。
従って、<p>要素の途中で新たなブロックレヴェル要素の開始タグを見出した場合は、その時点で当該<p>要素は終了したものと見なさなければなりません。
この事から、在来HTMLでは<p>要素の終了タグは省略出来ました。
しかしながら、XHTMLなど終了タグの省略が出来ないマークアップ言語もあるため、省略しない方が良いと思われます。
今でも稀に見掛けますが、<p>要素の開始タグを段落の末尾に付ける者がいました。
これはHTMLが考案された頃、<p>要素は「改段落(空要素)」だったからだそうですが、初の公式なHTMLの規格であるHTML 2.0で「段落」とされました。
従って、現在ではこのような記述は不正であると言えます。
稀に<p>要素を空行一行を開ける要素
と解説している書籍やサイトがありますが、これは間違いです。
段落を見易くするため、多くの視覚系ユーザエージェントでは<p>要素の前に一行の空行を空けておりますが、このような表示を仕様で規定されている訳ではありません。
<p>要素はあくまでも段落を表すものです。
このため、空の<p>要素を幾つも続けて空行を何行も出そうとしても、空の<p>要素は無効とみなすべきとされております。
HTML 4.01の仕様書には以下の様に書かれております。
We discourage authors from using empty P elements. User agents should ignore empty P elements.
これは、訳すと、
と言う事になります。
つまり、空の<p>要素を幾ら並べても無効となるのが仕様と言う訳です。
」などを内容にした<p>要素を幾つも並べて空行を作る者もいますが、これも当然<p>要素の本来の使い方からすれば間違いと言えます。<h1>段落について。</h1><p>段落は、<p>要素で表します。</p><p>段落の始めに開始タグ<code><p></code>を、末尾に終了タグ<code></p></code>を記述します。</p>