CSS の white-space プロパティは、要素内の空白文字をどのように扱うかを設定します。

メモ: 要素の内部で折り返しを行うには、代わりに overflow-wrap, word-break, hyphens を使用してください。

構文

/* キーワード値 */
white-space: normal;
white-space: nowrap;
white-space: pre;
white-space: pre-wrap;
white-space: pre-line;

/* グローバル値 */
white-space: inherit;
white-space: initial;
white-space: unset;

white-space プロパティは、以下の値の一覧から選択した単一のキーワードで指定します。

normal
連続する空白文字はまとめられます。ソース内の改行文字も空白文字として扱われます。行ボックスを埋めるために、必要なら行を折り返します。
nowrap
normal と同じく空白文字を詰めますが、行の折り返しは行いません。
pre
連続する空白文字はそのまま残され、行の折り返しは、ソース内の改行文字と、 <br> 要素でのみ行います。
pre-wrap
連続する空白文字はそのまま残されます。行の折り返しは、改行文字や <br> 要素のあるときか、行ボックスを埋めるのに必要なときに行います。
pre-line
連続する空白文字は詰められて 1 つになります。行の折り返しは、改行文字や <br> 要素のあるときか、行ボックスを埋めるのに必要なときに行われます。

次の表に、white-space 値の動作をまとめます:

  改行 空白とタブ文字 テキストの折り返し
normal 詰める 詰める 折り返す
nowrap 詰める 詰める 折り返さない
pre 残す 残す 折り返さない
pre-wrap 残す 残す 折り返す
pre-line 残す 詰める 折り返す

形式文法

normal | pre | nowrap | pre-wrap | pre-line

基本的な例

code { 
  white-space: pre; 
}

<pre> 要素内での改行

pre {
  word-wrap: break-word;      /* IE 5.5-7 */
  white-space: -moz-pre-wrap; /* Firefox 1.0-2.0 */
  white-space: pre-wrap;      /* 現行ブラウザー */
}

操作して確認する

Source

    <p>    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    
    Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
    
    Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
    
    Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

CSS + Result

仕様書

仕様書 状態 備考
CSS Text Module Level 3
white-space の定義
草案 折り返しアルゴリズムの詳細を記述。
CSS Level 2 (Revision 1)
white-space の定義
勧告 初回定義

初期値normal
適用対象すべての要素
継承あり
メディア視覚
計算値指定値
アニメーションの種類個別
正規順序形式文法で定義される一意のあいまいでない順序

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung Internet
基本対応Chrome 完全対応 1Edge 完全対応 12Firefox 完全対応 1IE 完全対応 5.5Opera 完全対応 4Safari 完全対応 1WebView Android ? Chrome Android ? Edge Mobile 完全対応 ありFirefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
preChrome 完全対応 1Edge 完全対応 12Firefox 完全対応 1IE 完全対応 6Opera 完全対応 4Safari 完全対応 1WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
pre-wrapChrome 完全対応 1Edge 完全対応 12Firefox 完全対応 3
完全対応 3
未対応 1 — 3.6
接頭辞付き
接頭辞付き -moz- のベンダー接頭辞が必要
IE 完全対応 8
補足
完全対応 8
補足
補足 From Internet Explorer 5.5 to 7, word-wrap: break-word; can be used for line breaks in pre elements.
Opera 完全対応 8Safari 完全対応 3WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
pre-lineChrome 完全対応 1Edge 完全対応 12Firefox 完全対応 3.5IE 完全対応 8Opera 完全対応 9.5Safari 完全対応 3WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
Support on <textarea>Chrome 完全対応 1Edge ? Firefox 完全対応 36IE 完全対応 5.5Opera 完全対応 4Safari 完全対応 1WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
Support in SVGChrome 未対応 なしEdge ? Firefox 完全対応 36IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android 未対応 なし

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
実装ノートを参照してください。
実装ノートを参照してください。
使用するには、ベンダー接頭辞または異なる名前が必要です。
使用するには、ベンダー接頭辞または異なる名前が必要です。

関連情報

ドキュメントのタグと貢献者

このページの貢献者: mfuji09, mitsuba-clover, Sebastianz, ethertank, sosleepy
最終更新者: mfuji09,