overflow-wrap:インライン要素に対してテキストが行から溢れる際に単語の途中で折り返すかどうかを指定する
初期値 | normal |
適用対象 | 置換要素ではないインライン要素 |
継承 | する |
アニメーション | 離散値 |
対応ブラウザ | caniuseで確認 |
overflow-wrapプロパティの説明
overflow-wrap
は、インライン要素に対してテキストが行から溢れる際に単語の途中で折り返すかどうかを指定します。この機能は、もともとword-wrap
というプロパティ名で実装されていました。Internet Explorerが独自に採用した仕様であり、後に多くのブラウザが採用しましたが、現在ではoverflow-wrap
に置き換えられたものとなっています。
多くの場合、オーバーフローの制御はコンテンツを包含するブロック要素のコンテナで行いますが、本プロパティは長い単語やURLなどの特定の文字列の折り返しを制御したい場合に有効です。
overflow
関連のプロパティには以下のものがあります。目的に応じて使い分けて下さい。
overflow-x
:水平軸のオーバーフローoverflow-y
:垂直軸のオーバーフローoverflow
:上記の一括操作
overflow-wrapに指定できる値
- normal
- 通常の改行規則を適用します。単語の途中では改行せずに、空白で区切れた箇所で折り返します。
- anywhere
- コンテンツがボックスから溢れることを防ぐために任意の箇所で折り返します。文字数の多い単語やURLの途中で改行を行いますが、ハイフンを挿入することはありません。コンテンツの最小寸法を計算する祭には、単語の分割によって導入された折り返し可能位置が考慮されます。
- break-word
anywhere
と同じ規則で折り返しますが、コンテンツの最小寸法を計算する祭に、単語の分割によって導入された折り返し可能位置を考慮しません。
overflow-wrapの使い方とサンプル
overflow-wrap
プロパティの構文は以下の通りです。
CSS
/* キーワード値 */
overflow-wrap: normal;
overflow-wrap: anywhere;
overflow-wrap: break-word;
/* グローバル値 */
overflow-wrap: inherit;
overflow-wrap: initial;
overflow-wrap: revert;
overflow-wrap: unset;
overflow-wrapの実例
それでは実際にoverflow-wrap
プロパティの書き方を見ていきましょう。以下の例は、インライン要素の<span>
で囲った単語区切りの内容と数字の羅列に対して、同じoverflow-wrap
の値を適用した時の比較です。それぞれの文字列がどこで折り返されるのか確認して下さい。
表示確認
CSS
.samp_box {
overflow: auto;
padding: 0 1rem 1rem;
background-color: #eee;
}
.samp_box h2 {
margin: 1rem 0 0;
font-size: 1rem;
}
.samp_box p {
max-width: 200px;
margin: .5rem 0 0;
padding: .5rem;
border: 1px solid #aaa;
background-color: #fff;
}
#ow_1 > span {
overflow-wrap: normal;
}
#ow_2 > span {
overflow-wrap: anywhere;
}
#ow_3 > span {
overflow-wrap: break-word;
}
HTML
<section class="samp_box">
<h2>overflow-wrap: normal;</h2>
<p id="ow_1">
<span>One Two Three Four Five Six Seven.</span>
<span>123456789012345678901234567890.</span>
</p>
<h2>overflow-wrap: anywhere;</h2>
<p id="ow_2">
<span>One Two Three Four Five Six Seven.</span>
<span>123456789012345678901234567890.</span>
</p>
<h2>overflow-wrap: break-word;</h2>
<p id="ow_3">
<span>One Two Three Four Five Six Seven.</span>
<span>123456789012345678901234567890.</span>
</p>
</section>
overflow-wrapに関連するCSSプロパティ
要素の表示や配置方法 | |
---|---|
bottom | 位置指定で配置された要素の底辺からの距離を指定する |
break-after | ボックスの終了時にページやカラムをどのように区切るかを指定する |
break-before | ボックスの開始前にページやカラムをどのように区切るかを指定する |
break-inside | ボックスの途中でページやカラムをどのように区切るかを指定する |
clear | フロート(float)の回り込みを解除する |
clip | 要素を切り抜いて可視化する範囲を指定する |
box-decoration-break | 要素の断片が複数の行やページに渡る場合に装飾の表示の仕方を指定する |
display | 要素の表示形式を指定する |
float | 要素を右または左へ寄せて配置する |
image-orientation | 横向きや逆さまに撮影された写真を正しい向きに回転させる |
image-rendering | 画像を拡大縮小するアルゴリズムを設定する |
left | 位置指定で配置された要素の左辺からの距離を指定する |
object-fit | 画像や動画などの置換要素をボックスに収める方法を指定する |
object-position | ボックスの中に配置されるオブジェクトの位置を指定する |
overflow | 要素からはみ出した内容の表示方法をまとめて指定する |
overflow-wrap | インライン要素に対して溢れる単語の折り返し方法を指定する |
overflow-x | 要素から水平方向にはみ出す内容の表示方法を指定する |
overflow-y | 要素から垂直方向にはみ出す内容の表示方法を指定する |
position | 要素の位置指定の種類を変更する |
right | 位置指定で配置された要素の右辺からの距離を指定する |
vertical-align | インライン要素や表のセルに対して縦方向の揃える位置を指定する |
visibility | 要素の領域を残したまま表示・非表示を切り替える |
z-index | 要素の重なり順序を指定する |