pre 要素整形済みテキストを表す

pre 要素は整形済みテキストのブロックを表します。整形済みテキストとは、空白文字や改行などで整形してあるテキストの事です。pre 要素内の整形済みテキストは、ブラウザによってレンダリングされる際、印刷時の慣例に則って表示されます。

通常のテキストは、レンダリングされる際、下記のルールに則って表示されます。

  • 連続する半角空白文字はまとめて 1つとして扱われる
  • タブ文字は半角空白文字 1つとして扱われる
  • 改行コードは半角空白文字 1つとして扱われる (ソースコード上で改行しても実際の画面上では改行はしない)
  • テキストが表示領域の横幅に達すると、そこで折り返して表示される

しかし、pre 要素内では、これらがすべて無効になり、ソースコード上の改行、連続した空白文字などがそのまま画面上に表示されます。また、テキストが表示領域の横幅に達しても自動的に折り返しも発生しません。

ただし、これら処理はユーザエージェントが必ずしなければならないわけではありません。よって、環境によっては表示が変わる可能性があります。

一般的に HTML や CSS、その他プログラムのソースコードを記載する際、アスキーアートなど、空白や改行が重要なテキストの表示、メールマガジンの内容をウェブページに掲載する際などに利用される場合が多いです。

なお、HTML 文書においては、pre 要素の開始タグの直後、先頭の改行文字は削除されます。

pre 要素の仕様

カテゴリ
コンテンツモデル
この要素を使用できる文脈
  • フローコンテンツが期待される場所
この要素で使用できる属性

pre 要素のサンプルソース

<!-- ソースコードの表示に使用した例 -->
<pre>
 <code class="language-javascript">
  $(function(){
   $('#menuButton').click(function() {
    $('#menu').toggle('fast');
   });
  });
 </code>
</pre>

主要ブラウザの対応

IE11
Edge(EdgeHTML)
Edge(Chromium)
Chrome
Firefox
Safari
iOS Safari
Android Chrome

仕様書の該当箇所

4.4.3 The pre element

用途から目的の要素を探す

用途から HTML5 の要素を逆引きできます。

テキストに対する意味づけを行いたい
テキストの編集を示したい
改行や折り返しを指定したい
上付きや下付きを指定したい
テキストの書字方向を制御したい
テキストにルビをふりたい
箇条書きなどリストを表したい
セクションを定義したい
コンテンツをグループ化したい
画像や映像などを埋め込みたい
スクリプトやスタイルを埋め込みたい
フォーム関連の要素
テーブル関連の要素
ドキュメントにメタデータを付与したい
インタラクティブな要素
その他

このページの上部へ