Astroプロジェクト内で、ダウンロードしたフォントファイルを使用したい場合があるかと思います。今回の記事では、Astroで独自フォントファイルを使用する方法を紹介します。
Astroでフォントファイルを設定する手順
Astroでカスタムフォントを使用する手順は、以下の通りです。
- フォントファイルを用意する
- フォントファイルをpublicディレクトリに配置する
- @font-face文を記述する
- CSSでフォントを指定する
1. フォントファイルを用意する
まずは、使用したいフォントファイルを用意しましょう。
フォントの種類が多く、woff2
形式でダウンロードできる google-webfonts-helper がおすすめです。
2. フォントファイルをpublicディレクトリに配置する
ダウンロードしたフォントファイルを、Astroプロジェクトのpublic
ディレクトリに配置します。
ここでは、public/fonts
ディレクトリを作成し、その中にフォントファイルを格納しています。
3. @font-face文を記述する
@font-face
文を使用して、フォントファイルを読み込みます。
Astroでは、public
ディレクトリは/
で参照できるため、url("/fonts/...")
のように記述します。
@font-faceの記述場所
@font-face
の記述は、CSSファイル内でも<style>
タグ内でも構いません。
CSSファイル内で記述する場合
CSSファイルに記述し、全体の共通コンポーネントで読み込む場合は、src/styles/global.css
を作成します。(ファイル名は任意)
共通コンポーネント内(一般的にはLayout.astro
)のフロントマターでCSSファイルを読み込むと完了です。
styleタグに記述する場合
<style>
タグ内に記述する場合は、コンポーネント内に直接記述します。
サイト全体に適用するには、is:global
ディレクティブを付与します。
特定のコンポーネントのみで使用する場合は、is:global
なしで記述することも可能です。
src/components/Example.astro
4. CSSでフォントを指定する
最後に、フォントを使用したい箇所でCSSを記述します。
font-family
には、@font-face
で指定したfont-family
を記述します。
これでカスタムフォントの導入と使用方法の解説は終わりです。
【おまけ】@font-faceの書き方
@font-face
の記述方法を簡単にまとめましたので、必要であれば参考にしてください。
同じフォントで複数のweightを指定する場合
同一フォントで異なる太さを指定する場合は、font-family
は同じままで、src
とfont-weight
を変更します。
同じフォントでstyleを指定する場合
同じフォントで異なるfont-style
を指定する場合には、src
とfont-style
を変更します。
複数のフォーマットを指定する場合
src
は複数指定することが可能です。
例えば、woff2
をサポートしているブラウザにはwoff2
を適用し、フォールバックとして他のフォーマットを指定することができます。
src
を複数指定する場合、上から順番にブラウザがサポートしているフォーマットが適用されるので、一番上に圧縮率が高いフォーマットを指定しましょう。
【まとめ】Astroで独自フォントファイルを@font-faceで設定する方法
今回の記事では、Astroで独自フォントファイルを使用する手順を解説しました。
- フォントファイルを用意する
- フォントファイルをpublicディレクトリに配置する
- @font-face文を記述する
- CSSでフォントを指定する
もしAstroでカスタムフォントを使用する場合は、ぜひ参考にしてみてください!
また、Fontsourceでフォントを使用する方法についても解説していますので、こちらも合わせてご覧ください。
FontsourceでAstroにWebフォントを導入する方法 | WebTech Media
AstroでFontsourceを利用して、Google Fontsやオープンソースのフォントを導入する方法を解説します。フォントのインストールからCSSの設定まで詳しく説明します。
https://webtech-media.jp/article/astro-use-fontsource