HTML要素 ・ その他

<pre>

整形済みテキスト

書いたとおりの改行や空白を、そのまま表示する要素です。複数行のコードやアスキーアートの表示に使います。

種類
ブロック要素
終了タグ
必須
既定の表示
等幅フォント・改行と空白を保持
01

サンプルコード

HTML
1<pre><code>.box {
2 display: flex;
3 gap: 16px;
4}</code></pre>
CSS
1pre {
2 padding: 12px 16px;
3 background: #1e1e1e;
4 color: #d4d4d4;
5 border-radius: 6px;
6 overflow-x: auto;
7}
02

実行結果

ブラウザでの表示
03

解説

pre は "preformatted text"(整形済みテキスト)の略です。通常のHTMLでは連続する空白や改行は1つの空白にまとめられますが、pre の中では書いたとおりに表示されます。

コードを表示するときは、pre の中に code を入れて「整形済みのコード」であることを示すのが定番です。

長い行は自動で折り返されないため、overflow-x: auto を指定して横スクロールできるようにします。

04

応用例・注意点

よく指定するCSS

プロパティ説明
overflow-x: auto長い行を横スクロールさせる
white-space: pre-wrap空白は保ちつつ折り返す
tab-sizeタブ文字の幅
font-family等幅フォントの指定

長い行を折り返す

横スクロールではなく折り返したい場合は pre-wrap を使います。

CSS
1pre {
2 white-space: pre-wrap;
3 word-break: break-all;
4}

注意点

  1. 01pre の開始タグ直後の改行は無視されますが、それ以外の空白はすべて表示されます。インデントに注意します。
  2. 02中の < や & は &lt; や &amp; に置き換えて書きます。
↑↓ 選択Enter 移動Esc 閉じるCtrl K⌘K で開閉