44d1a1cb15
This PR is part of a larger effort to migrate error messages to MDX and use App Router: https://github.com/vercel/front/pull/23459
42 lines
1.3 KiB
Text
42 lines
1.3 KiB
Text
---
|
|
title: Google Font Display
|
|
---
|
|
|
|
> Enforce font-display behavior with Google Fonts.
|
|
|
|
## Why This Error Occurred
|
|
|
|
For a Google Font, the font-display descriptor was either missing or set to `auto`, `block`, or `fallback`, which are not recommended.
|
|
|
|
## Possible Ways to Fix It
|
|
|
|
For most cases, the best font display strategy for custom fonts is `optional`.
|
|
|
|
```jsx filename="pages/index.js"
|
|
import Head from 'next/head'
|
|
|
|
export default function IndexPage() {
|
|
return (
|
|
<div>
|
|
<Head>
|
|
<link
|
|
href="https://fonts.googleapis.com/css2?family=Krona+One&display=optional"
|
|
rel="stylesheet"
|
|
/>
|
|
</Head>
|
|
</div>
|
|
)
|
|
}
|
|
```
|
|
|
|
Specifying `display=optional` minimizes the risk of invisible text or layout shift. If swapping to the custom font after it has loaded is important to you, then use `display=swap` instead.
|
|
|
|
### When Not To Use It
|
|
|
|
If you want to specifically display a font using an `auto`, `block`, or `fallback` strategy, then you can disable this rule.
|
|
|
|
## Useful Links
|
|
|
|
- [Controlling Font Performance with font-display](https://developer.chrome.com/blog/font-display/)
|
|
- [Google Fonts API Docs](https://developers.google.com/fonts/docs/css2#use_font-display)
|
|
- [CSS `font-display` property](https://www.w3.org/TR/css-fonts-4/#font-display-desc)
|