white-space
: スペース・タブ・改行の表示方法 CSSプロパティ
このページで解説するコードの実行結果。
<table>
<tr>
<td>
🍎ホワイト・スペースの表示方法について設定する。🍎
</td>
</tr>
</table>
<table>
<tr>
<td>
🍎ホワイト・スペースの表示方法について設定する。🍎
</td>
</tr>
</table>
<table>
<tr>
<td>
🍎ホワイト・スペースの表示方法について設定する。🍎
</td>
</tr>
</table>
<table>
<tr>
<td>
🍎ホワイト・スペースの表示方法について設定する。🍎
</td>
</tr>
</table>
<table>
<tr>
<td>
🍎ホワイト・スペースの表示方法について設定する。🍎
</td>
</tr>
</table>
<table>
<tr>
<td>
🍎ホワイト・スペースの表示方法について設定する。🍎
</td>
</tr>
</table>
なお、見た目のため、このページの実行結果には「下のCSSコードも」適用している。
white-space
の概要
ホワイト・スペースの表示方法について設定する。
スペース |   | |
---|---|---|
タブコード | 	 | |
改行コード | | ※ キャリッジ・リターン( ) |
設定値 | 改行コードを 1つのスペースに | スペース/タブコードを 1つのスペースに | あふれた場合の改行 | デフォルト |
---|---|---|---|---|
pre | × | × | × | |
pre-wrap | × | × | ○ | |
pre-line | × | ○ | ○ | |
normal | ○ | ○ | ○ | ○ |
nowrap | ○ | ○ | × | |
( break-spaces ) | × | × | ○ |
※ break-spaces
は新しい設定値(そして草案段階)であるので、ほとんどのブラウザは対応していない。よって使わない方がよい。
white-space
未設定の例は以下。(デフォルト値のnormal
と同じ結果)
HTML : 適用するHTML
<div class="sample"> <table> <tr> <td> 🍎ホワイト・スペースの表示方法について設定する。🍎 </td> </tr> </table> </div>
実行結果
<table>
<tr>
<td>
🍎ホワイト・スペースの表示方法について設定する。🍎
</td>
</tr>
</table>
pre
- ホワイト・スペース : そのまま表示
- あふれた場合 : そのまま放置(=自動改行しない)
CSS : pre
.sample { white-space: pre; }
実行結果
<table>
<tr>
<td>
🍎ホワイト・スペースの表示方法について設定する。🍎
</td>
</tr>
</table>
pre-wrap
- ホワイト・スペース : そのまま表示
- あふれた場合 : 折り返す(=自動改行する)
CSS : pre-wrap
.sample { white-space: pre-wrap; }
実行結果
<table>
<tr>
<td>
🍎ホワイト・スペースの表示方法について設定する。🍎
</td>
</tr>
</table>
pre-line
- スペース/タブコード : 1つのスペースにまとめる
- 改行コード : そのまま表示
- あふれた場合 : 折り返す(=自動改行する)
CSS : pre-line
.sample { white-space: pre-line; }
実行結果
<table>
<tr>
<td>
🍎ホワイト・スペースの表示方法について設定する。🍎
</td>
</tr>
</table>
normal
- ホワイト・スペース : 1つのスペースにまとめる
- あふれた場合 : 折り返す(=自動改行する)
CSS : normal
.sample { white-space: normal; }
実行結果
<table>
<tr>
<td>
🍎ホワイト・スペースの表示方法について設定する。🍎
</td>
</tr>
</table>
nowrap
- ホワイト・スペース : 1つのスペースにまとめる
- あふれた場合 : そのまま放置(=自動改行しない)
CSS : nowrap
.sample { white-space: nowrap; }
実行結果
<table>
<tr>
<td>
🍎ホワイト・スペースの表示方法について設定する。🍎
</td>
</tr>
</table>
break-spaces
pre-wrap
とほぼ同じであるが、最終行の文末のホワイト・スペースの扱いが異なる。
草案段階のCSS3で追加された設定であるが、主要なブラウザはサポートしていない。
CSS : break-spaces
.sample { white-space: break-spaces; }
実行結果
<table>
<tr>
<td>
🍎ホワイト・スペースの表示方法について設定する。🍎
</td>
</tr>
</table>
併用するCSSプロパティ
overflow
プロパティ
上記のように、pre
やnowrap
を指定した場合、親のブロック要素からあふれでる場合がある。
その場合、どのように表示させるか。
非表示 : hidden
CSS : hidden
.sample { white-space: pre; overflow: hidden; }
実行結果
スクロールさせる : scroll
CSS : scroll
.sample { white-space: pre; overflow: scroll; }
実行結果
<table>
<tr>
<td>
🍎ホワイト・スペースの表示方法について設定する。🍎
</td>
</tr>
</table>
Emmet : whs
記述 | Visual Studio Code |
---|---|
whs | white-space: nowrap; |
whsp | white-space: pre; |
whspw | white-space: pre-wrap; |
whspl | white-space: pre-line; |
whsn | white-space: normal; |