Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【CSS Modules】descent-overrideアットルール記述子の使い方

descent-overrideアットルール記述子の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

descent-overrideプロパティは、CSSの@font-faceルール内でカスタムフォントのディセント値を上書きするための値を保持するプロパティです。このプロパティは、Webフォントの垂直方向のメトリクスを調整し、特にフォントのベースラインが他のフォントと揃わない場合に、レイアウトの不整合を改善する目的で使用されます。

フォントのディセント値とは、文字のベースラインから、gやpのような文字の下部に突き出す部分(ディセンダー)の最も低い点までの距離を指します。異なるフォントファミリーを組み合わせた際に、ディセント値の違いによりテキストの垂直方向の位置がずれたり、行の高さに意図しない余白が生じたりすることがあります。

descent-overrideプロパティにパーセンテージ値を指定することで、フォントが持つ本来のディセント値を指定した割合で調整できます。例えば、descent-override: 100%;と指定すれば元のディセント値がそのまま適用され、descent-override: 80%;と指定すれば元の値の80%に縮小されます。これにより、フォントの表示が改善され、異なるフォント間での垂直方向の配置の一貫性を保つことが可能になります。結果として、テキストの行の高さや隣接する要素との垂直方向の配置がより予測可能になり、Webページの視覚的な品質と読みやすさを向上させることができます。特に、カスタムフォントを使用する際に、ブラウザによるフォントレンダリングの差異を吸収し、より制御されたテキスト表示を実現するために重要な役割を果たします。

公式リファレンス: descent-override

構文(syntax)

1@font-face {
2  font-family: "CustomFont";
3  src: url("custom-font.woff2") format("woff2");
4  descent-override: 20%;
5}

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

サンプルコード

CSS descent-override でフォントの行高さを調整する

1@font-face {
2  font-family: "CustomFontWithOverride"; /* カスタムフォントの名前を定義 */
3  src: url("/fonts/custom-font.woff2") format("woff2"); /* フォントファイルのパスとフォーマットを指定 */
4  
5  /* 
6   * descent-override は、フォントのディセント(ベースラインから文字の最下部までの距離)を上書きします。
7   * これにより、異なるフォント間での行の高さの不揃いを軽減できます。
8   * 値はパーセンテージや 'em' 単位で指定できます。
9   * 例えば '20%' は、元のディセントの20%に設定します。
10   */
11  descent-override: 20%;
12}
13
14/* 
15 * このカスタムフォントをHTML要素に適用する例。
16 * このフォントを使用するテキストのディセントが、descent-override で指定された値に従って調整されます。
17 */
18.element-using-custom-font {
19  font-family: "CustomFontWithOverride", sans-serif;
20  font-size: 1.5em; /* フォントサイズを設定 */
21  line-height: 1.2; /* 行の高さを設定 */
22}

descent-overrideは、CSSの@font-faceルール内で使用される記述子です。これは、フォントのディセント、つまり文字のベースラインから最下部までの距離を明示的に上書きするために用いられます。このプロパティ自体には引数がなく、特定の戻り値もありません。

複数のフォントを組み合わせた際に、それぞれのフォントが持つディセント値の違いから、行の高さが不揃いになったり、テキストの配置が乱れたりすることがあります。descent-overrideを使用することで、このディセント値を調整し、異なるフォント間での視覚的な整合性を高め、レイアウトを安定させることができます。

サンプルコードでは、@font-faceルール内でdescent-override: 20%;と指定されています。これは、カスタムフォント「CustomFontWithOverride」のディセントを、元のフォントが持つディセントの20%に設定するという意味です。値はパーセンテージ(例: 20%)やem単位で指定することが可能です。

このようにして定義されたカスタムフォントを.element-using-custom-fontのようなHTML要素に適用すると、指定されたdescent-overrideの値に基づき、テキストのディセントが調整されます。これにより、特に和文フォントと欧文フォントを併用する際などに生じる、行の高さの視覚的な不調和を効果的に軽減し、より統一感のあるテキスト表示を実現することができます。

descent-overrideは、Webフォントのディセント(文字のベースラインから最下部までの距離)を調整する際に使用するプロパティです。複数のフォントを組み合わせた際に、文字の高さや配置のずれによって生じる行の高さの不揃いを軽減し、見た目の一貫性を保つ目的で@font-faceルール内で定義します。値は元のディセントに対するパーセンテージやem単位で指定しますが、値を過度に小さくしすぎると文字が隣接する行に重なって表示される可能性があり、逆に大きくしすぎると行間が不自然に広がる場合があります。そのため、実際にブラウザで表示を確認しながら、最適な値を見つけることが非常に重要です。line-heightなど他の行の高さに影響するCSSプロパティとの兼ね合いも考慮し、意図しないレイアウト崩れがないか十分に確認してください。

関連コンテンツ

関連プログラミング言語