CSS overflow-wrap 単語が表示領域を超えた時の改行

目次

サンプル overflow-wrap
normalで英字の場合、改行せずに表示
normalで日本語の場合は、改行して表示
単語の途中でも改行 (break-word)
break-wordを継承する

overflow-wrap

overflow-wrapは、単語が表示領域を超える場合の、改行方法を指定します。

overflow-wrap : 値
word-wrap : 値

CSS3で名前がword-wrapからoverflow-wrapになりました。
word-wrapでも使用できます。

値は以下を設定します。継承します。

normal 英字で単語が表示領域を超える場合、改行せずに表示します。(デフォルト)
normalで日本語の場合 日本語で単語が表示領域を超える場合は、改行されます。
break-word 単語が表示領域を超える場合、単語の途中で改行します。

 

normalで英字の場合、改行せずに表示

<style>
  .p1 {
    overflow-wrap: normal;
    border: 1px solid #000;
    width: 100px;
    height: 30px;
    background: LightCyan;
  }
</style>
<p class="p1">tangonokaigyou</p>

normalは、改行されずにはみ出します。

 

normalで日本語の場合は、改行して表示

<style>
  .p1 {
    overflow-wrap:normal;
    border: 1px solid #000;
    width: 100px;
    height: 30px;
    background: LightCyan;
  }
</style>
<p class="p1">日本語は改行される</p>

3行目もnormalですが、日本語の場合は改行されます。

 

単語の途中でも改行 (break-word)

<style>
  .p1 {
    overflow-wrap: break-word;
    border: 1px solid #000;
    width: 100px;
    height: 30px;
    background: LightCyan;
  }
</style>
<p class="p1">tangonokaigyou</p>

break-wordは、横にはみ出さないように改行されます。

 

break-wordを継承する

<style>
  .div1 {
    overflow-wrap: break-word;
    border: 1px solid #000;
    width: 100px;
    height: 140px;
    background: LightCyan;
  }
</style>
<div class="div1">
  <p>test123456789</p>
  <p>test123456789</p>
</div>

11~12行目の英単語は、改行されます。

関連の記事

CSS overflow はみ出し部分を表示する/しない
CSS word-break 単語の改行方法を指定

△上に戻る