最近、CSSまわりの投稿で「改行の見え方がかなり変わる」という話題を見かけることが増えました。
私自身、もともと改行の位置や行末の見え方がかなり気になるタイプです。文章の内容が良くても、見出しの折り返しが不自然だったり、本文の1行が長すぎたりすると、それだけで読みやすさが落ちると感じていました。
これまでは、その場その場でfont-sizeを少し調整したり、letter-spacingを微妙に触ったりしながら、見た目を整えることが多かったです。
この方法は便利ではあるものの、ページごとに調整が増えると、どうしても管理がバラバラになりやすいという弱点があります。
そこで今回、試しにCSSを適用してみたところ、ひとつ分かりやすい変化がありました。
それが、本文の改行です。
これまでは「す。」のように、語尾の途中で改行されることがあり、日本語として少し違和感のある折り返しになることがありました。
しかし、text-wrap: prettyを適用すると、「です。」のように文のまとまりを保った自然な改行になるケースが増えました。
Before

After

この変化を見て、「これは個別調整ではなく、ベースの設計で改善できるのではないか」と感じ、今回のCSSを本格的に検証してみることにしました。
そこで今回注目したのが、CSS側で改行の選ばれ方そのものを改善するという考え方です。
この記事では、text-wrap: balance、text-wrap: pretty、word-break: auto-phrase、そしてmax-width: ○○chといった最近よく見かける指定について、何が本当で、何が少し盛られやすいのかを整理しながら、WordPressサイトにどう取り入れるのが現実的かをまとめます。
最近よく見る「理想の改行」系ポストは本当なのか
SNSでは、「2026年はCSSだけで理想の改行が完成する」のような表現をよく見かけます。たしかに以前より改善できる範囲は大きく広がっていますが、実際にはすべてのブラウザで同じように効くわけではありません。
また、見出しに向く指定と本文に向く指定は少し違います。さらに、日本語では文節の途中で不自然に折り返される問題があるため、英語圏の解説をそのまま信じるとズレることもあります。
つまり今回のテーマは、単なるCSS小技というより、「読みやすさをどう設計するか」という話です。
まず結論:2026年時点での実務的な使い分け
先に結論を書くと、実務では次のように考えるのがかなり扱いやすいです。
| 対象 | おすすめ | 考え方 |
|---|---|---|
| 見出し | text-wrap: balance | 複数行見出しのガタつきを整えやすい |
| 本文 | text-wrap: pretty | 孤立した短い最終行などを避けやすい |
| 日本語見出し | word-break: auto-phrase | 対応ブラウザでは文節寄りの自然な改行を狙える |
| 本文全体の横幅 | max-width: 〇〇ch | 1行を長くしすぎず、可読性の土台を作る |
ポイントは、全部を一気に入れないことです。まずは見出しから、次に本文、最後に日本語の細かい調整という順で、段階的に試すのが安全です。
これまでの調整方法と、その限界
私がこれまでよくやっていたのは、たとえば次のような対応です。
- 見出しの折り返しが悪ければfont-sizeを少し下げる
- 文字が詰まりすぎて見えればletter-spacingを少し広げる
- 特定ページだけ見づらければ、そのページだけCSSを追加する
もちろん、こうした微調整が悪いわけではありません。実際、今でも局所的には必要です。ただ、このやり方は「気になるところを都度直す」アプローチです。
ページ数が増えるほど、どこで何を調整したか把握しづらくなるのが難点でした。特にWordPressでは、固定ページ、投稿記事、LP、サービスページなど、性質の違うページが増えていきます。そこに個別最適が増えると、あとから全体を整えにくくなります。
そこで今回のCSSは、「最初から崩れにくいタイポグラフィ設計に寄せる」という方向に持っていけるのが魅力です。
Simple Code Inserterで限定的に試す、という進め方
今回のようなCSSは、いきなりサイト全体へ反映させるより、まずは特定の固定ページや記事だけで試すほうが安心です。
そのために私が使っているのが、自作のSimple Code Inserterです。これは、固定ページや投稿記事ごとに、wp_headやwp_footerへコードを追加できる、かなりシンプルなプラグインです。

類似プラグインは他にもありますが、検証時はなるべく余計な機能が少ないほうが扱いやすいため、自分用に最小限の構成にしています。
今回のテーマでも、このように「まずは一部ページだけで試す」進め方は相性が良いです。見出しだけに入れてみる、サービスページだけに入れてみる、といった小さな単位で検証しやすいからです。
text-wrap: balance は何をしてくれるのか
text-wrap: balanceは、複数行になった見出しの各行の長さをできるだけ揃える方向で改行位置を選ぶ指定です。
たとえば、2行や3行の見出しで、1行目だけ長く、2行目が極端に短いと、どうしてもバランスが悪く見えます。そこでbalanceを使うと、見出しらしい整った折り返しになりやすいです。
これは特に、以下のような場面で効果が出やすいです。
- ブログ記事タイトル
- サービスページの大見出し
- カードUI内の見出し
- スマホで2行以上になる中見出し
一方で、本文の長い段落にbalanceを入れると、テキスト全体の見かけの幅が狭く見えたり、不自然に感じたりすることがあります。そのため、基本的には見出し中心で考えるのが無難です。
text-wrap: pretty は本文向けにどう使うべきか
text-wrap: prettyは、表示速度よりも見た目の良さを優先して改行位置を選ぶ方向の指定です。
とくに本文では、最後の1行だけ極端に短くなるケースがあります。こうした孤立した短い最終行は、少し読みにくく感じることがあります。prettyは、そうした違和感を軽減する方向で働くことがあります。
ただし、ここは少し注意が必要です。prettyはブラウザごとの差が出やすい領域です。あるブラウザでは変化が控えめでも、別のブラウザでは段落全体の改行位置が比較的大きく変わることがあります。
そのため、本文で使う場合は、すべての段落に一気に入れるより、まずは長めの本文を持つページで確認しながら進めるほうが安心です。
word-break: auto-phrase は日本語でどう効くのか
今回の中で、日本語サイト運営者にとって特に気になるのがword-break: auto-phraseです。
これは、対応ブラウザでは日本語の自然なフレーズ境界を優先して改行することを狙った指定です。日本語は英語のように単語間スペースで区切られないため、通常の折り返しでは文節の途中で不自然に切れることがあります。
この指定がうまく効くと、たとえば短い見出しやキャッチコピーで、「その位置で折り返してほしかった」という挙動に近づきやすくなります。
ただし、これも全ブラウザ共通ではありません。そのため、現時点では「対応ブラウザならラッキー」ではなく、「対応ブラウザでは改善を得る」という考え方で導入するのが現実的です。
max-width: ○○ch が実はかなり重要
SNSではtext-wrap系の話題が目立ちますが、実務的にはmax-width: ○○chもかなり重要です。
たとえばコンテナ幅が800pxあっても、その中で本文が横いっぱいに広がると、1行が長くなりすぎて読みづらくなります。行が長いと、次の行の先頭へ視線を戻す負担が増えやすいからです。
ここで、本文の最大幅を60ch〜70ch前後に抑えると、横に広すぎない読みやすい行長を作りやすくなります。つまり、text-wrap系の指定だけではなく、「そもそも1行を長くしすぎない」ことが可読性の土台になります。
私の感覚でも、改行の違和感だけを直そうとしてfont-sizeやletter-spacingばかり触るより、まずは行長を整えるほうが全体の印象が安定しやすいです。
SNSで広まりやすい主張をファクトチェックする
「CSSだけで理想の改行が完成する」
これはやや言いすぎです。以前よりかなり改善できるのは事実ですが、ブラウザ差や日本語特有の事情があるため、どの環境でも常に“理想”になるわけではありません。
「見出しはbalance、本文はprettyでOK」
これはかなり実務的な整理です。ただし、本文にprettyを入れたときの効き方には差があるため、無条件で全面適用するより、ページ単位で確認したほうが安全です。
「auto-phraseで文節ごとに完璧に改行できる」
これは誤解を招きやすい表現です。かなり期待できる機能ではありますが、現時点ではブラウザ対応も限定的で、常に完璧とは言い切れません。
「1pxのこだわりでUXが劇的に変わる」
これは半分正しく、半分盛られやすい表現です。たしかに読みやすさは積み重ねで効きます。ただ、劇的に変わるかどうかは、フォント、行間、行長、見出し設計、余白なども含めた全体設計次第です。
WordPressサイトに導入するなら、どこから始めるべきか
おすすめは、次の順番です。
- まず見出しに text-wrap: balance
- 次に本文へ text-wrap: pretty を限定適用
- 日本語見出しへ auto-phrase を段階導入
- 本文幅を ch 単位で見直す
この順番なら、変化がわかりやすく、事故も少ないです。いきなり本文全体と見出し全体に全部入れると、どの指定が効いているのか分かりづらくなります。
また、WordPressではテーマや既存CSSの影響もあるため、最初は特定のテンプレートや記事だけで試す進め方が向いています。
まず試したい最小構成のCSS
まずはこのくらいの最小構成から始めるのが扱いやすいです。
|
1 2 3 4 5 6 7 8 9 10 11 |
@supports (text-wrap: balance) { h1, h2, h3, h4, h5, h6 { text-wrap: balance; } } @supports (text-wrap: pretty) { p, li, blockquote { text-wrap: pretty; } } |
これだけでも、対応ブラウザでは見出しと本文の印象が少し整いやすくなります。未対応ブラウザでは無視されるだけなので、段階導入しやすいのも利点です。
日本語向けに試すならこの指定
さらに日本語見出しで試すなら、次のような形もあります。
|
1 2 3 4 5 6 7 8 9 10 |
@supports (word-break: auto-phrase) { :lang(ja) h1, :lang(ja) h2, :lang(ja) h3, :lang(ja) h4, :lang(ja) h5, :lang(ja) h6 { word-break: auto-phrase; } } |
ここで大事なのは、「効かなかったら壊れる」のではなく、「効くブラウザで改善する」という考え方です。ですので、現時点ではこれをベースにしつつ、必要があれば個別に微調整を足す、という姿勢が現実的です。
本文幅まで含めて整える例
本文の読みやすさまで意識するなら、次のような指定も相性が良いです。
|
1 2 3 4 5 |
.entry-content, .wp-block-post-content { max-inline-size: min(68ch, 100%); margin-inline: auto; } |
これだけでも、横に長くなりすぎる本文を抑えやすくなります。つまり今回のテーマは、単に「改行を美しくする」だけではなく、「文章を読みやすい器に入れる」という発想が重要です。
自社サイトでおすすめしたい適用方針
もし私が自社のWordPressサイトへ段階導入するなら、次のように進めます。
| 場所 | 適用方針 | 理由 |
|---|---|---|
| 記事タイトル・H2見出し | balance | 最も効果を確認しやすい |
| 長文記事の本文 | pretty | 最終行の違和感を減らしやすい |
| 日本語の短いキャッチ | auto-phrase | 自然な文節で折り返せる可能性がある |
| 本文全体 | max-width: 60〜70ch 前後 | 行長を整える土台になる |
それぞれを指定した場合の挙動
PCブラウザで横幅を変化させると、改行の違いを確認できます。
指定なし
改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。
text-wrap: balance
改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。
text-wrap: pretty
改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。
word-break: auto-phrase
改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。
max-width: 65ch
改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。改行の確認をします。
まず試したいのはbalance
とくにサービスページやLPでは、見出しが2行になったときの印象がかなり重要です。そういう意味でも、最初の一歩はタイトルや見出しへのbalanceが分かりやすいです。
タイトルそのまま

タイトルに、text-wrap: balanceを指定

注意点:やりすぎると逆に読みにくくなる
ここは大事なところです。今回の指定は便利ですが、入れれば入れるほど良いわけではありません。
- 本文にbalanceを入れて不自然になる
- 行長を詰めすぎて逆に窮屈になる
- テーマの既存CSSとぶつかる
- ブラウザ差を見ずに全体適用する
このあたりは普通に起こります。だからこそ、限定的に試すことが大切です。私はこういうとき、Simple Code Inserterのようなシンプルな仕組みで、まず一部のページだけに反映して、スマホとPCの見え方を確認しながら進めるのが好きです。
まとめ:局所調整から「設計」で読みやすさを作るへ
今回のテーマで一番大きいのは、「気になるところを毎回直す」から、「最初から崩れにくい設計にする」へ発想を変えられることです。
これまでは、font-sizeやletter-spacingを細かく調整して、そのページごとに見た目を整えることが多かったです。もちろんそれも必要ですが、今回のようなCSSをうまく使えば、改行の選ばれ方そのものを改善しやすくなるため、毎回の応急処置を減らしやすくなります。
つまり、今回のCSSは単なる小技ではなく、WordPressサイト全体の可読性設計を見直すきっかけとして非常に有効です。
最後に要点をまとめます。
- 見出しには text-wrap: balanceが試しやすい
- 本文には text-wrap: prettyを段階導入すると良い
- 日本語見出しでは auto-phraseが魅力的だが、対応状況は要確認
- max-width: ○○chは可読性の土台としてかなり重要
- 局所調整から設計改善へ発想を変えると、運用がラクになる
私自身、これまでは気になる箇所に対してfont-sizeやletter-spacingを少しずつ調整することが多かったのですが、今回のようなCSSを知ると、もっとベースの設計で読みやすさを作れるのではないかと感じています。
WordPressサイトであれば、まずは一部ページだけに適用してみて、見出しや本文の印象がどう変わるかを確認してみると良いと思います。小さく試しながら、サイト全体の読みやすさを一段引き上げていきたいところです。