【フォントディスプレイ】
font-display とは?
最終更新:
💡 フォントを待つ間の文字表示を選ぶ
Webフォントの読み込みを待つ間の文字表示と、読み込み後の切り替えを指定する@font-face記述子。5つの値とレイアウトのずれへの対処を解説します。
📌 このページのポイント
ページを開いたら、一瞬文字が見えないのはなぜ?
swapなら、どうなる?
blockは読み込むまでずっと非表示?
fallbackやoptionalは?
待ち時間は何秒と決まっている?
仕様には期間の長さの目安があるけれど、ブラウザの実装や利用者の設定で異なる。どの端末でも100ミリ秒や3秒ちょうど、と考えないほうがよい。
どれを選べばよいの?
もっと詳しく知りたい人へ
size-adjustを105%にすれば、ずれがなくなる?
決まった値で解決するものではありません。size-adjustは字形やメトリクスを拡大縮小する記述子です。代替とWebフォントの組み合わせに合わせて調整し、文字幅、改行、行の高さを確認します。font-displayだけでページ全体のCLSが0になる保証もありません。
Google Fontsでは自動でswapになる?
Google Fonts CSS APIの既定値はautoです。要求URLのdisplay=swapなどで指定します。固定の短い文字列だけならtext=で必要な文字を絞る方法もありますが、本文のように文字が変わる用途では不足が出ないようにします。
まとめ:ざっくりこれだけ覚えればOK!
「font-display」って出てきたら「Webフォントを待つ間の文字表示や切り替え方針を決める指定」と思えばだいたいOK!
📖 おまけ:英語の意味
「font-display」 = フォントの表示方針
💬 通常の要素に指定するCSSプロパティではなく、@font-faceのフォント定義で使う記述子です。