この文書の最新版は「ばけらの HTML リファレンス」に移転しています (PRE, XMP, LISTING, PLAINTEXT) 。以下の文章は古くなっているかも知れません。
改行やホワイトスペースをそのまま反映させるブロック要素…… PRE, XMP, LISTING
HTML 直下に記すプレーンテキスト…… PLAINTEXT
要素名 | 適用バージョン | 開始タグ | 終了タグ | 分類 | 中身 | |||
---|---|---|---|---|---|---|---|---|
PRE | 2.0 | 2.x | 3.2 | 4.0 | 必須 | 必須 | ブロック | インライン、ただし IMG, OBJECT, APPLET, BIG, SMALL, SUB, SUP, FONT, BASEFONT を除く |
属性 | 適用バージョン | 属性値 | 既定値 | 備考 | |||
---|---|---|---|---|---|---|---|
width | 2.0 | 2.x | 3.2 | (4.0) | 数値 | left | 望ましい表示桁数を助言 |
他に指定できる属性……id, class, title, style(中心属性), lang, dir(i18n), onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (イベント) |
PRE 要素は、その中身が空白文字や改行文字によって整形されているということを示します。視覚系のブラウザは、PRE の中にある空白文字や改行文字を変換せずに、そのまま扱います。
タブ文字もいちおう有効ですが、非推奨です。タブひとつが空白いくつに相当するかは環境によって異なります。思った通りの表示にならない可能性が高くなりますので、使わないようにしましょう。
PRE の中でも、マークアップや文字参照は解釈されます。
<PRE> 整形済みテキストを<EM>強調</EM>したり、 <A href="#here" name="here" id="here">アンカーをつけたり</A>することができます。 & を書くには &amp; とします。 </PRE>
これはたとえば以下のようになります。
整形済みテキストを強調したり、 アンカーをつけたりすることができます。 & を書くには & とします。
ただし、PRE の中では行の幅が固定されていますので、それを変更するような要素は使えません。IMG, OBJECT, APPLET, BIG, SMALL, SUB, SUP, FONT, BASEFONT がそれに該当します。IMG や FONT を使ってしまう人がいますが、誤りです。size属性のない FONT color も駄目です。
この要素は、主に次のような用途に使われます。
PRE はそれなりに便利なものではありますが、みだりに使うと画面の横幅を固定し、嫌われ者の横スクロールバーを生み出す原因にもなります。濫用は避けましょう。
width 属性は一行の文字数を指定するもので、一行がちょうどその文字数に合うような適切なフォントサイズを採用するよう促すものです。けれども、この属性はほとんどのブラウザに無視されてしまいます。HTML4.0 では非推奨です。
要素名 | 適用バージョン | 開始タグ | 終了タグ | 分類 | 中身 | |||
---|---|---|---|---|---|---|---|---|
XMP | (2.0) | (2.x) | (3.2) | - | 必須 | 必須 | ブロック | CDATA |
属性は特にありません。
XMP 要素は廃止されました。これから HTML文書を作成する人は、この要素を使ってはいけません。
XMP は PRE と似ていますが、扱いは全く異なります。XMP の中身が CDATA となっている点に注目して下さい。これは SGML 的な扱いを受けないテキストで、& と書いてもそのまま表示されますし、逆に & などをそのまま書くことができます。< > をそのまま書けるので、HTML のタグを直接書いて例示するのに使われました。
ただし、XMP の中身には終了タグ開始区切り子 </ を書くことができません。</ が現れると、そこに XMP要素の終了タグがあるものと判断されます。そのため、HTML の構文を例示するという目的であるにもかかわらず、終了タグを表現することが出来ません。</ と書いたり <\/ と書いたりしてもそのまま表示されてしまいますから、終了タグを表現することは不可能です。この矛盾のため、この要素は HTML2.0 成立当初より非推奨とされ、HTML4.0 では廃止されました。
なお、HTML2.0 成立直前のドラフトでは、XMP の終了タグを </XMP> に限定することによって </ を書けるようにする、という案になっていました。これは SGMLの短縮タグ機構のルールに反する案で、HTML2.0 の目指した「HTML の SGMLアプリケーション化」そのものにも反しているため、採用されなかったものと思われます。
ところが、現実のブラウザは、この HTML2.0 成立以前の仕様を実装しているようです(あえてそうしているのか、手抜きなのかは分かりませんが)。ですから </ を書いてもそのまま表示するのですが、それでも </XMP> という文字列だけは表現できません。マーク区間を使う方法も考えられますが、それでは XMP を使う意味がありません。
PRE にはそういう欠陥はありません。多少面倒でも、PRE を使って表現しましょう。
要素名 | 適用バージョン | 開始タグ | 終了タグ | 分類 | 中身 | |||
---|---|---|---|---|---|---|---|---|
LISTING | (2.0) | (2.x) | (3.2) | - | 必須 | 必須 | ブロック | CDATA |
属性は特にありません。
LISTING 要素は廃止されました。これから HTML文書を作成する人は、この要素を使ってはいけません。
文中に < & > などを含んだプログラムリストをそのまま表示するのに用いられました。その扱いは XMP とほとんど同じですが、唯一の差は表示桁数です。XMP が 80 桁以上なのに対して、LISTING は 132 桁以上の表示が求められていました。現実には、ブラウザは両者を得に区別したりはしないようです。
いずれにしても廃止された要素ですので、使うべきではありません。
XMP や LISTING にも似ていますが、これは HTML要素の直下に置かれるものです。基本要素 - PLAINTEXT を参照して下さい。
これも廃止された要素ですので、使うべきではありません。