text-wrap: balance
text-wrap: balance はブラウザがテキストの折り返し位置を最適化し、各行の幅がなるべく均等になるよう調整する。従来は JavaScript や手動での改行が必要だった見出しのバランス調整を CSS だけで実現できる。パフォーマンスのため、多くのブラウザは 6 行以下のテキストに制限している。
概要
text-wrap: balance はブラウザがテキストの折り返し位置を最適化し、各行の幅がなるべく均等になるよう調整する。従来は JavaScript や手動での改行が必要だった見出しのバランス調整を CSS だけで実現できる。パフォーマンスのため、多くのブラウザは 6 行以下のテキストに制限している。
対応ブラウザ
デスクトップ
Chrome 114+
Edge 114+
Safari 17.5+
Firefox 121+
モバイル
Chrome Android 114+
Safari iOS 17.5+
Firefox Android 121+
基本構文
CSS
h1, h2, h3 {
text-wrap: balance;
}
/* より広い指定 */
.balanced-heading {
text-wrap: balance;
max-width: 40ch;
} 実務での使いどころ
-
記事見出しの美しい折り返し
ニュースサイトやブログの見出しで、行の長さが不揃いになるのを防ぎ、プロフェッショナルな印象を与える。
注意点
- 長い段落に適用するとパフォーマンスに影響する可能性がある。6行以下のテキストに限定すること。
- テキスト幅が変わるため、厳密なレイアウト計算に依存している場合は注意が必要。
アクセシビリティ
- テキストの内容や読み上げ順序には影響しない。視覚的な改善のみ。