本文段落には text-wrap: pretty を使う
<p> 要素に text-wrap: pretty を適用して、長文コンテンツの最終行に1単語だけ残るオーファンをなくし、ハイフネーションを改善する。
詳細な説明
pretty が実際にやっていること
text-wrap: pretty は段落の 最後の数行 だけを操作します。本文全体をバランスしたりはしません — それでは本文には重すぎるからです。代わりに、ブラウザは最後の4行(Chromeのデフォルト)を最適化して以下を実現します:
- オーファン(最終行に残る1単語)を回避
- ウィドウ(短すぎる最終行)を回避
hyphens: autoも指定されていれば、より良いハイフネーション位置を選ぶ- 句読点が行頭に来ないようにする
CSS
article p {
text-wrap: pretty;
hyphens: auto;
line-height: 1.6;
}
なぜ balance ではないのか
理由は2つあります。第一に、balance は O(n²) で6行を超えると無効化されます — 10行を超えるのが普通の段落には不向きです。第二に、段落全体をバランスすると全行が同じ幅になりますが、これは本文にとっては可読性を 下げる のです。新聞や書籍は意図的にラギッドライトで組まれています。各行末から戻ってくる目に対して、左端が安定したアンカーになるからです。
ハイフネーションとの相互作用
pretty と hyphens: auto は組み合わせて使うように設計されています。両方を有効にすると、ブラウザの行分割アルゴリズムが選べる候補が増え、最終数行をより積極的にチューニングできます。ハイフンなしでも pretty は機能しますが、選択肢が減ります。
ブラウザサポート
Chrome 117+、Edge 117+、Safari 17.5+。Firefox は 2026年初頭時点で pretty 未対応で、デフォルトの折り返しにフォールバックします。pretty はプログレッシブエンハンスメントとして扱い、無視されても段落が読めることを確認してください。
ユースケース
記事本文、ブログ投稿、マーケティングのランディングページコピー、ドキュメント本文、モーダルの説明文、アプリ内で表示されるニュースレター。段落が3〜4行を超え、オーファン単語が気になるあらゆる場所。