The font-display
descriptor determines how a font face is displayed based on whether and when it is downloaded and ready to use.
Syntax
/* Keyword values */ font-display: auto; font-display: block; font-display: swap; font-display: fallback; font-display: optional;
Values
auto
- The font display strategy is defined by the user agent.
block
- Gives the font face a short block period and an infinite swap period.
swap
- Gives the font face an extremely small block period and an infinite swap period.
fallback
- Gives the font face an extremely small block period and a short swap period.
optional
- Gives the font face an extremely small block period and no swap period.
Description
The font display timeline
The font display timeline is based on a timer that begins the moment the user agent attempts to use a given downloaded font face. The timeline is divided into the three periods below which dictate the rendering behavior of any elements using the font face.
- Font block period
- If the font face is not loaded, any element attempting to use it must render an invisible fallback font face. If the font face successfully loads during this period, it is used normally.
- Font swap period
- If the font face is not loaded, any element attempting to use it must render a fallback font face. If the font face successfully loads during this period, it is used normally.
- Font failure period
- If the font face is not loaded, the user agent treats it as a failed load causing normal font fallback.
Formal definition
Related at-rule | @font-face
|
Initial value | auto
|
Computed value | as specified |
Formal syntax
[ auto | block | swap | fallback | optional ]
Examples
Specifying fallback font-display
@font-face { font-family: ExampleFont; src: url(/path/to/fonts/examplefont.woff) format('woff'), url(/path/to/fonts/examplefont.eot) format('eot'); font-weight: 400; font-style: normal; font-display: fallback; }
Specifications
Specification | Status | Comment |
---|---|---|
CSS Fonts Module Level 4The definition of 'font-display' in that specification. | Working Draft | Initial definition |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
font-display
|
Chrome
Full support 72 |
Edge
Full support 79 |
Firefox
Full support 58 |
IE
No support No |
Opera
Full support 60 |
Safari
Full support 11.1 |
WebView Android
Full support 72 |
Chrome Android
Full support 72 |
Firefox Android
Full support 58 |
Opera Android
Full support 51 |
Safari iOS
Full support 11.3 |
Samsung Internet Android
Full support 11.0 |
Legend
- Full support
- Full support
- No support
- No support
See also
font-family
font-stretch
font-style
font-weight
font-variant
font-feature-settings
font-variation-settings
src
unicode-range
font-display by Mozilla Contributors is licensed under CC-BY-SA 2.5.