テキストを折り返して枠からはみ出すのを防ぐ

LastModified
Category CSS

概要

word-break と overflow-wrap の説明とプレビュー

参考

https://developer.mozilla.org/ja/docs/Web/CSS/word-break
https://developer.mozilla.org/ja/docs/Web/CSS/overflow-wrap

word-break

https://developer.mozilla.org/ja/docs/Web/CSS/word-break より引用

normal

既定の改行ルールを使用します。

break-all

CJK (中国語、台湾語、日本語、韓国語) 以外のテキストにおいて、単語中などでの文字の改行に関する禁則処理を解除し、どの文字の間でも改行するようにします。

keep-all

CJK テキストの改行を許可しません。 CJK 以外のテキストについては normal と同じ挙動となります。

break-word

行内で適切に改行できる場所が他にない場合に限って、単語の途中でも改行するようにします。

overflow-wrap

https://developer.mozilla.org/ja/docs/Web/CSS/overflow-wrap より引用

normal

通常の単語の分割位置 (2つの単語の間の空白など) でのみ改行することを示します。

anywhere

あふれることを避けるために、行内にその他の分割可能な位置がない場合、その他の分割できない文字列 — 長い単語や URL — が任意の場所で分割されることがあります。分割位置にハイフン文字は挿入されません。コンテンツの最小固有寸法を計算する時には、単語分割によって導入された折り返し可能位置が考慮されます。

break-word

anywhere の値と同様に、行内にその他の分割可能な位置がない場合、通常は分割可能でない単語が任意の場所で分割されますが、コンテンツの最小固有寸法を計算する時に、単語分割によって導入された折り返し可能位置が考慮されません。

word-wrap

overflow-wrap の別名

まとめ

ちょっと良く分からなかったけどまとめ

word-wrapnormal既定
break-allCJK以外は改行する
keep-allCJKは改行しない。
CJK以外は normalと同じ
break-word改行する
overflow-wrapnormal単語で改行
anywhere改行する
break-word改行する

プレビュー


.box01 {
    display: block;
	width: 200px;
    border: 2px solid #000;
}

word-break

word-break: normal

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

This is a pen.This is a pen.This is a pen.

ああああああああああああああああああああああああ

これはペンですこれはペンですこれはペンですこれはペンです


<div class="box01 word-break-normal">
    <p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p>
    <p>This is a pen.This is a pen.This is a pen.</p>
    <p>ああああああああああああああああああああああああ</p>
    <p>これはペンですこれはペンですこれはペンですこれはペンです</p>
</div>

.word-break-normal{
    word-break: normal;
}

word-break: break-all

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

This is a pen.This is a pen.This is a pen.

ああああああああああああああああああああああああ

これはペンですこれはペンですこれはペンですこれはペンです


<div class="box01 word-break-break-all">
    <p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p>
    <p>This is a pen.This is a pen.This is a pen.</p>
    <p>ああああああああああああああああああああああああ</p>
    <p>これはペンですこれはペンですこれはペンですこれはペンです</p>
</div>

.word-break-break-all{
    word-break: break-all;
}

word-break: keep-all

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

This is a pen.This is a pen.This is a pen.

ああああああああああああああああああああああああ

これはペンですこれはペンですこれはペンですこれはペンです


<div class="box01 word-break-keep-all">
    <p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p>
    <p>This is a pen.This is a pen.This is a pen.</p>
    <p>ああああああああああああああああああああああああ</p>
    <p>これはペンですこれはペンですこれはペンですこれはペンです</p>
</div>

.word-break-keep-all{
    word-break: keep-all;
}

word-break: break-word

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

This is a pen.This is a pen.This is a pen.

ああああああああああああああああああああああああ

これはペンですこれはペンですこれはペンですこれはペンです


<div class="box01 word-break-break-word">
    <p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p>
    <p>This is a pen.This is a pen.This is a pen.</p>
    <p>ああああああああああああああああああああああああ</p>
    <p>これはペンですこれはペンですこれはペンですこれはペンです</p>
</div>

.word-break-break-word{
    word-break: break-word;
}

overflow-wrap

overflow-wrap: normal

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

This is a pen.This is a pen.This is a pen.

ああああああああああああああああああああああああ

これはペンですこれはペンですこれはペンですこれはペンです


<div class="box01 overflow-wrap-normal">
    <p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p>
    <p>This is a pen.This is a pen.This is a pen.</p>
    <p>ああああああああああああああああああああああああ</p>
    <p>これはペンですこれはペンですこれはペンですこれはペンです</p>
</div>

.overflow-wrap-normal{
    overflow-wrap: normal;
}

overflow-wrap: anywhere

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

This is a pen.This is a pen.This is a pen.

ああああああああああああああああああああああああ

これはペンですこれはペンですこれはペンですこれはペンです


<div class="box01 overflow-wrap-anywhere">
    <p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p>
    <p>This is a pen.This is a pen.This is a pen.</p>
    <p>ああああああああああああああああああああああああ</p>
    <p>これはペンですこれはペンですこれはペンですこれはペンです</p>
</div>

.overflow-wrap-anywhere{
    overflow-wrap: anywhere;
}

overflow-wrap: break-word

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

This is a pen.This is a pen.This is a pen.

ああああああああああああああああああああああああ

これはペンですこれはペンですこれはペンですこれはペンです


<div class="box01 overflow-wrap-break-word">
    <p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p>
    <p>This is a pen.This is a pen.This is a pen.</p>
    <p>ああああああああああああああああああああああああ</p>
    <p>これはペンですこれはペンですこれはペンですこれはペンです</p>
</div>

.overflow-wrap-break-word{
    overflow-wrap: break-word;
}