もくじ
テキストの折り返しを適切に設定することで、可読性を保ちながらデザインを整えることができます。
本記事では、CSSを使用してテキストの折り返しを指定する方法について詳しく解説します。
white-spaceプロパティで折り返しを制御
white-space
プロパティは、テキスト内の空白や改行をどのように扱うかを指定するプロパティです。
white-spaceの主な値
- normal
- デフォルト
テキストは通常通り折り返され、連続した空白は1つにまとめられます。
- nowrap
- テキストを折り返さずに1行で表示します。
- pre
- 改行や空白をそのまま保持します(プレーンテキストのような表示)。
- pre-wrap
- 空白と改行を保持しつつ、コンテナの幅を超えた場合は折り返します。
- pre-line
- 改行は保持しますが、連続する空白は1つにまとめます。
white-spaceの折り返し・空白・改行の扱いまとめ
値 | 折り返し | 空白 | 改行 |
---|---|---|---|
normal | する | まとめる | 無視 |
nowrap | しない | まとめる | 無視 |
pre | しない | 保持 | 保持 |
pre-wrap | する | 保持 | 保持 |
pre-line | する | まとめる | 保持 |
【使用例1】normal(デフォルト)
空白が連続した場合は1つにまとめられ、コンテナの幅を超える場合は折り返されます。
以下のコードは、連続する空白を1つにまとめ、コンテナの幅を超えると自動的に折り返します。
<div class="example-normal">
このテキストは デフォルトの 設定です。
</div>
.example-normal {
white-space: normal;
}
【使用例2】nowrap
テキストを1行に表示し、折り返しを無効にします。
連続する空白は1つにまとめられます。
以下のコードは、テキストはコンテナの幅を超えても折り返されず、1行で表示されます。
<div class="example-nowrap">
このテキストは 折り返されずに 1行で表示されます。
</div>
.example-nowrap {
white-space: nowrap;
}
【使用例3】pre
テキスト内の改行や空白をそのまま保持して表示します。
プレーンテキストのような表現が可能です。
以下のコードは、HTML内に入力された通りに空白や改行がそのまま表示されます。
<div class="example-pre">
このテキストは
空白と 改行を
そのまま保持します。
</div>
.example-pre {
white-space: pre;
}
【使用例4】pre-wrap
空白や改行は保持されますが、幅を超える場合には折り返されます。
以下のコードは、pre
のように空白と改行を保持しながらも、テキストがコンテナの幅を超えると自動で折り返します。
<div class="example-pre-wrap">
このテキストは
空白と 改行を保持しつつ、
コンテナの幅を超えると折り返されます。
</div>
.example-pre-wrap {
white-space: pre-wrap;
}
【使用例5】pre-line
改行は保持されますが、連続する空白は1つにまとめられます。
コンテナの幅を超えると折り返されます。
以下のコードは、改行はそのまま表示されますが、空白は連続しても1つにまとめられます。
<div class="example-pre-line">
このテキストは
改行を保持しますが、 連続する空白は
1つにまとめられます。
</div>
.example-pre-line {
white-space: pre-line;
}
word-breakプロパティで折り返しを制御
word-break
プロパティは、テキスト内の単語をどのように折り返すかを指定するCSSプロパティです。
特に、長い単語やURLがコンテナからはみ出る場合に役立ちます。
このプロパティを使うことで、テキストの表示をより柔軟に制御できます。
word-breakの主な値
- normal
- デフォルト
単語がコンテナの幅を超える場合は折り返すが、単語の途中では折り返しません。
- break-all
- 長い単語やURLを含む場合、単語を途中で折り返します。
- keep-all
- アジア言語のテキストで、単語を途中で折り返したくない場合に使用します。
英語は折り返します。
【使用例1】normal(デフォルト)
単語がコンテナの幅を超えても、スペースやハイフンがない限り改行されません。
その結果、テキストがコンテナからはみ出すことがあります。
<div class="example-normal">
ThisIsAReallyLongWordThatWillNotBreakEasily
</div>
.example-normal {
word-break: normal;
}
【使用例2】break-all
長い単語が途中で折り返され、文字単位ごとに改行が許可されます。
コンテナの幅を超えないように文字が調整されるため、表示が崩れにくくなります。
特に長い単語やURLを含む場合に便利です。
<div class="example-break-all">
ThisIsAReallyLongWordThatWillBreakAnywhere
</div>
.example-break-all {
word-break: break-all;
}
【使用例3】keep-all
日本語や中国語などのアジア言語に適しています。
英語の単語は通常通り折り返されますが、日本語の単語は途中で折り返しされません。
<div class="example-keep-all">
これはとても長い日本語の文章です。折り返しが許可されません。
</div>
.example-keep-all {
word-break: keep-all;
}
overflow-wrapプロパティで折り返しを制御
overflow-wrap
プロパティは、テキストの内容がコンテナの幅を超える場合に、単語の途中で折り返しを許可するかどうかを制御するCSSプロパティです。
特に、長い単語やURLがコンテナからはみ出さないように表示したい場合に役立ちます。
以前はword-wrap
というプロパティ名で使用されていましたが、現在ではoverflow-wrap
が推奨されています。
overflow-wrapの主な値
- normal
- デフォルト
単語全体を折り返さないため、コンテナからはみ出す可能性があります。
- break-word
- 長い単語がコンテナの幅を超える場合、途中で折り返します。
【使用例1】normal(デフォルト)
単語全体がコンテナの幅を超える場合でも、単語の途中で折り返しません。
つまり、通常の折り返しルールに従います。
<div class="example-normal">
ThisIsAVeryLongWordThatWillNotBreakUnlessItReachesTheEnd
</div>
.example-normal {
overflow-wrap: normal;
}
【使用例2】break-word
単語全体がコンテナの幅を超える場合、単語の途中で折り返しが行われます。
これにより、単語が長すぎてコンテナからはみ出るのを防ぎます。
<div class="example-break-word">
ThisIsAVeryLongWordThatWillBreakIfItExceedsTheWidth
</div>
.example-break-word {
overflow-wrap: break-word;
}
overflow-wrap: break-word; と word-break: break-all; の違い
overflow-wrap: break-word;
は、単語が収まりきらない場合に折り返します。
テキストが単語単位で折り返されるのを維持したいが、長い単語やURLがコンテナからはみ出るのを防ぎたい場合に使用します。
word-break: break-all;
は、単語が途中でも強制的に折り返します。
break-all
は強制的に折り返しを行うため、読みやすさよりも表示を優先したい場合に適しています。
HTML・CSS入門におすすめの1冊
もみじ
Web製作未経験でも読みやすい構成で、初学者でも安心して学習することができます。
実践的な内容を学ぶことができ解説も丁寧で分かりやすく、基礎的な内容はこの1冊で学ぶことができます。