autoブラウザーへ距離を任せる
ブラウザーが書体に合う下線の位置を選びます。text-underline-offsetの初期値です。
文字へ引いた下線を、本来の位置から近づけたり離したりするプロパティ。文字・線の形・色・太さは固定したまま、下線との距離だけを切り替えて違いを確かめます。
text-underline-offsetとは?文字と下線の距離をauto・負の長さ・em・px・割合で切り替えながら、初期値、継承、使い方を初学者向けに解説します。
見てわかるCSS
文字色・線の形・色・太さは固定。下線との距離だけが変わります.element text-underline-offset: auto;
値のパターン
autoブラウザーが書体に合う下線の位置を選びます。text-underline-offsetの初期値です。
<length>0.12em・4pxなどの長さで距離を指定します。負の値では下線が文字へ近づきます。
<percentage>20%のように、要素自身のフォントサイズ1emに対する割合で距離を指定します。
underline移動するのはunderlineだけです。overlineやline-throughの位置は変わりません。
初期値はautoです。下線が表示されている要素へ、autoまたは長さ・割合を1つ指定します。
autoブラウザーが適切な距離を選ぶ初期値-0.08em下線を文字へ近づける負の相対長0下線を本来の位置から移動しない距離なし0.12em文字サイズに合わせて離す推奨しやすい単位6px6ピクセル離す固定長25%1emの25%だけ離す割合emを使い、文字サイズが変わっても読みやすい距離を保ちながらリンクの下線を見せます。
a { text-decoration-line: underline; text-underline-offset: 0.14em; }太い下線が文字へ重ならないよう、線の太さと距離を一緒に調整します。
h2 { text-decoration: underline 4px #7258e8; text-underline-offset: 0.2em; }継承されるため、まとまりの親へ割合を指定すると子要素も同じ相対値を引き継ぎます。
.nav { text-underline-offset: 20%; } .nav a { text-decoration-line: underline; }ポイント
text-underline-offsetは下線の距離だけを指定するため、text-decoration-lineがunderlineでなければ変化が見えません。初期値はautoで、すべての要素と::first-letter・::first-lineに適用でき、子要素へ継承されます。長さは負の値も使え、正の値では通常は文字から離れ、負の値では近づきます。割合は要素自身のフォントサイズ1emを基準にし、相対値のまま継承されます。値は計算値の型に応じてアニメーションできます。このプロパティはtext-decoration一括指定の構成要素ではなく、underlineだけに作用するため、overlineやline-throughは移動しません。また、祖先が引いた下線の位置を子要素側の指定で変えることはできません。下線を離しすぎると次の行へ近づくので、line-height、文字サイズ、線の太さ、複数行での見え方も確認します。
text-underline-offset と一緒に使われるプロパティや、詳しい外部リファレンスをまとめました。