このページを日本語で閲覧するには「続ける」を押してください。
Press "Continue" to see this page in English.
2020
8
29

Webデザインにおける日本語の改行問題

Webデザインにおける日本語の不自然な改行問題を解決する方法を紹介。<span> や <wbr>、overflow-wrap などのCSSを使って、読みやすく美しいレイアウトを実現するための実践的なテクニックを解説します。

Sergei Voroshilov

Webデザインにおける日本語の改行問題

改行問題とは?

みなさん、こんにちは!LikePayのCTO、セルゲイです。

日本語でWebテキストを表示する際に、不自然な場所で改行されてしまうことに悩まされたことはありませんか?

一文字だけ改行されるような最悪のパターンを見ると、見た目の悪さや読みづらさが目立ちます。

この問題に対して、私たちは2つの解決策を検討してきました。それぞれに長所と短所がありますので、順を追ってご紹介します。

解決策その1: spanタグでラッピング

改行させたくない単語や文章を<span>タグで囲み、特別なCSSスタイルを適用する方法です。

HTML:

<p class="word-break">
  <span>「SNS×お店」をセットで楽しむ新アプリ。</span>
  <span>お店についてSNSに投稿するだけで、</span>
  <span>お金のように使える</span>
  <span>割引ポイントがもらえる!</span>
</p>

CSS:

.word-break > span {
  display: inline-block;
}

メリット:

  • 指定の単位を改行させないように制御できる

デメリット:

  • HTMLが冗長になりやすい
  • spanごとにスペースが生成される置換問題
  • 型にはめたコーディングが必要

解決策その2: wbrタグを使ったソフトな改行

より素直で清やかな方法です。改行しても良い場所に<wbr>タグを指定します。

HTML:

<p>
  「SNS×お店」をセットで楽しむ新アプリ。<wbr/>
  お店についてSNSに投稿するだけで、<wbr/>
  お金のように使える<wbr/>割引ポイントがもらえる!
</p>

CSS:

body {
  word-break: keep-all;
}

メリット:

  • コードが簡潔
  • 改行位置を制御しやすい

デメリット:

  • 特に見当たらない(2020年時点)

解決策その3(2025年現在): CSSの hyphensoverflow-wrap の活用

CSS仕様の進化により、より柔軟な改行制御が可能になってきました。日本語では hyphens はまだ完全に有効ではありませんが、overflow-wrap: anywhere;line-break の指定を使うことで、自然な折返しに近づけることができます。

例:

p {
  overflow-wrap: anywhere;
  line-break: strict;
}

このように設定することで、ブラウザがより適切な場所で日本語のテキストを折り返すように調整されます。

メリット:

  • HTMLに手を加えずCSSだけで制御できる
  • モダンブラウザであれば高い互換性がある

デメリット:

  • ブラウザごとに若干の解釈の違いが残る可能性あり
  • 日本語で完全に理想的な改行とは限らない(改善中)

おわりに

日本語の改行問題は簡単なようで意外と難しいものです。

このような最新の方法を知っておくことで、Webデザインの品質は大きく向上します。この記事が同じ問題で悩んでいるWebデザイナーの方の参考になれば幸いです!

ご質問やご意見があれば、気軽にご連絡ください。

メールマガジン

最新アップデートに登録

メール登録することと、ビジネス成長を支える技術的なノウハウと有益なアップデート情報が届きます。

あなたのプライバシーを大切にし、迷惑メールの送信のためにメールアドレスを使用しません。配信停止はいつでも可能です。

送信することでプライバシーポリシーに同意したとみなされます。

You successfully subscribed!
Error happened while sending your form.
支援先企業

あなたのWeb課題を解決

我々は東京・原宿を拠点にしたウェブ会社です。

スーパーサイトのクリエイティブな国際チームがあなたの抱えているチャレンジにソリューションを提供します。