#?SuikaWiki/0.9 * p 要素型 (HTML, XHTML 1) [11] [DFN[[CODE(HTMLe)[p]] 要素]]は、[DFN[[[段落]]]]を表します。 [5] 段落とは何か。 HTML 4 曰く: > Authors traditionally divide their thoughts and arguments into sequences of paragraphs. The organization of information into paragraphs is not affected by how the paragraphs are presented: paragraphs that are double-justified contain the same thoughts as those that are left-justified. > [[著者]]は、伝統的に、自身の意思や主張を段落の連続体に分割します。 段落としての情報の組織化は、その段落がどう表現されるかには影響されません。 両端揃えの段落は、左揃の段落と同じ意見を含んでいます。 [12] : [[開始タグ]]: 必須 : [[終了タグ]]: 必須 : [[内容模型]]: [CODE(SGML)[(%[[inline]];)*]] : [[属性]] : ,[CODE(HTMLe)[[[align]]]] ,,,揃え ,[HTML4] 非推奨 ,[CODE(HTMLa)[[[class]]]] ,,,[[級]] ,[HTML4] %[[coreattr]] ,[CODE(HTMLa)[[[dir]]]] ,,,[[書字方向]] ,[HTML4] %[[i18n]] ,[CODE(HTMLa)[[[id]]]] ,,,一意識別子 ,[HTML4] %coreattr ,[CODE(HTMLa)[[[lang]]]] ,,,[[自然言語]] ,[HTML4] %i18n ,[CODE(HTMLa)[[[xml]]:lang]],,,自然言語 ,[XHTML1] ,[CODE(HTMLa)[[[onclick]]]] ,,, ,[HTML4] %[[events]] ,[CODE(HTMLa)[[[ondblclick]]]],,, ,[HTML4] %events ,[CODE(HTMLa)[[[onkeydown]]]],,, ,[HTML4] %events ,[CODE(HTMLa)[[[onkeypress]]]],,, ,[HTML4] %events ,[CODE(HTMLa)[[[onkeyup]]]] ,,, ,[HTML4] %events ,[CODE(HTMLa)[[[onmousedown]]]],,, ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseout]]]],,, ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseover]]]],,, ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseup]]]],,, ,[HTML4] %events ,[CODE(HTMLa)[[[style]]]] ,,,スタイル情報 ,[HTML4] %coreattr ,[CODE(HTMLa)[[[title]]]] ,,,注釈的題 ,[HTML4] %coreattr [[#comment]] ** 内容模型 [4] [CODE(HTMLe)[p]] 要素は、 (歴史的理由により、) [[行内要素]]しか[[内容]]に含めることができません。 [CODE(HTMLe)[p]] 要素型自体を含めることも、もちろんできません。 [[#comment]] *** 空の p 要素 [13] HTML 4 は、 - [[著者]]が空の [CODE(HTMLe)[p]] 要素を使うことは非推奨 (discourage) - [[UA]] は空の [CODE(HTMLe)[p]] 要素は無視するべき (should) としています。 [[#comment]] ** レンダリング [14] [[HTML4]] は、「Visual rendering of paragraphs」 ([[参考]]) で、 段落のレンダリングについて言及しています。 (特に [CODE(HTMLe)[p]] 要素に限定したものではなく、 一般に文内容についての考察でしょう。) 概略: - 次に述べるのは、現在の幾つかの[[視覚UA]] の動作についてである。 - [[スタイルシート]]を使えば、段落の[[書式付け]]をよりよく制御できる。 - 段落は通常 ([CODE(XSL)[[[lr]]]] では) 左を揃え、右はぎざぎざにレンダリングされる。 - 段落は伝統的に前後に空白(行)を置いてレンダリングされる。 -- これとは異なり、小説なんかだと段落間は特に空けずに、 段落の最初の行を[[字下げ]]する。 - 1993年の [[NCSAMosaic]] 以来の慣習で、普通は両[[余白]]を揃えない。 ちゃんとした[[ハイフン付け]]をしないとこれをするのは難しいのだ。 - スタイルシートとか、部分画素 (subpixel) 配置によって[[アンチエイリアス]]したフォントとか、以前よりも[[著者]]の選択しは豊かになっている。 - スタイルシートで文字の大きさ、フォントの様式、余白、段落前後の間隔、最初の行の字下げ、端揃えその他の詳細な制御ができる。 -- UA の[[既定スタイル]]は前述のようになっている。 -- やろうと思えば段落境界が分からないような感じにもできるが、 混乱の元であるからにして非推奨 (discourage)。 - 視覚 UA は余白に合わせて文を折り返す。 -- 折り返しの算法は[[用字系]]に依存する。 -- [[西洋用字系]]では、文は[[空白]]をもってのみ折り返すべき (should)。 --- 初期の UA は誤って何かの要素の[[開始タグ]]直後や[[終了タグ]]直前でも折り返していたから、終了タグの直後に[[読点]]があるような場合に変ちくりんなことになっていた。 [[#comment]] ** 実装について - [1] [[mosaic]] や [[NN]] では、[CODE(HTML)[

]] [[タグ]]を連続させても1つ分の空行しかできませんでした。 - [2] >>1 は現代的に言えば、[[既定スタイル]]に [CODE(CSS)[p + p {[[margin-left]]: 0}]] とかいろいろ書いてあったとでも思えばいいでしょう。 - [3] >>1-2 は別に HTML の規定ではなく、同時代のほかの [[WWWブラウザ]], たとえば [[Arena]] は [CODE(HTML)[

]] の数だけ空行を作りました。 [[#comment]] * メモ