ツールチップ・ポップオーバーへの text-wrap: balance
ツールチップの本文は text-wrap: balance に最適 — 短く目立ち、折り返しが悪いと見栄えが悪くなる。
Headings & Titles
詳細な説明
ツールチップに balance が必要な理由
ツールチップは短く(通常5〜25単語)、説明する要素のすぐ横に表示されます。「ここをクリックすると / この機能の詳細が分かります」のように折り返した不格好なツールチップは、密度の高いUIで雑音になります。バランス済みなら「ここをクリックするとこの機能の / 詳細が分かります」のように、ひとまとまりに読める形になります。
実装
.tooltip {
max-width: 240px;
padding: 0.5rem 0.75rem;
text-wrap: balance;
font-size: 0.8125rem;
line-height: 1.4;
}
balance に最適化対象を与えるため、max-width を必ずセットします。幅の制約がないと balance は何もできません。
パフォーマンスメモ
ホバーで表示・消去されるツールチップは、その都度レイアウト処理を発生させます。balance はそのレイアウトパスに小さなコストを追加しますが、ツールチップは定義上小さい(通常1〜3行)ため、O(n²) アルゴリズムが評価する候補数も非常に少なく済みます。ポータルのマウントやフォーカストラップのセットアップに比べれば、コストは無視できる程度です。
長めのヘルプテキストには pretty をフォールバックに
ツールチップが6行を超える場合は text-wrap: pretty に切り替えてください。balance は6行を超えると静かに無効化されますが、pretty は最終行を最適化し続けるため、長さに関わらず動作します。プログレッシブエンハンスメントは自動です — 古いブラウザはデフォルトの折り返しにフォールバックします。
ユースケース
ツールチップ、ポップオーバー、フォーム入力欄下のヘルパーテキスト、ホバーで表示されるカード、アプリ内の機能紹介、アクセシビリティヒント、ステータスバッジのツールチップ。幅が制約された短いテキストブロックすべて。