The font-family
CSS property specifies a prioritized list of one or more font family names and/or generic family names for the selected element.
Values are separated by commas to indicate that they are alternatives. The browser will select the first font in the list that is installed or that can be downloaded using a @font-face
at-rule.
It is often convenient to use the shorthand property font
to set font-size
and other font related properties all at once.
You should always include at least one generic family name in a font-family list, since there's no guarantee that any given font is available. This lets the browser select an acceptable fallback font when necessary.
The font-family
property specifies a list of fonts, from highest priority to lowest. Font selection does not simply stop at the first font in the list that is on the user's system. Rather, font selection is done one character at a time, so that if an available font does not have a glyph for a needed character, the latter fonts are tried. (However, this doesn't work in Internet Explorer 6 or earlier.) When a font is only available in some styles, variants, or sizes, those properties may also influence which font family is chosen.
/* A font family name and a generic family name */ font-family: Gill Sans Extrabold, sans-serif; font-family: "Goudy Bookletter 1911", sans-serif; /* A generic family name only */ font-family: serif; font-family: sans-serif; font-family: monospace; font-family: cursive; font-family: fantasy; font-family: system-ui; /* Global values */ font-family: inherit; font-family: initial; font-family: unset;
The font-family
property lists one or more font families, separated by commas. Each font family is specified as either a <family-name>
or a <generic-name>
value.
The example below lists two font families, the first with a <family-name>
and the second with a <generic-name>
:
font-family: Gill Sans Extrabold, sans-serif;
<family-name>
<generic-name>
Generic font families are a fallback mechanism, a means of preserving some of the style sheet author's intent when none of the specified fonts are available. Generic family names are keywords and must not be quoted. A generic font family should be the last item in the list of font family names. The following keywords are defined:
serif
sans-serif
monospace
cursive
fantasy
system-ui
Font family names must either be given quoted as strings, or unquoted as a sequence of one or more identifiers. This means that punctuation characters and digits at the start of each token must be escaped in unquoted font family names.
For example, the following declarations are valid:
font-family: Gill Sans Extrabold, sans-serif; font-family: "Goudy Bookletter 1911", sans-serif;
The following declarations are invalid:
font-family: Goudy Bookletter 1911, sans-serif; font-family: Red/Black, sans-serif; font-family: "Lucida" Grande, sans-serif; font-family: Ahem!, sans-serif; font-family: test@foo, sans-serif; font-family: #POUND, sans-serif; font-family: Hawaii 5-0, sans-serif;
[ <family-name> | <generic-family> ]#where
<family-name> = <string> | <custom-ident>+
<generic-family> = serif | sans-serif | cursive | fantasy | monospace
.serif { font-family: Times, Times New Roman, Georgia, serif; } .sansserif { font-family: Verdana, Arial, Helvetica, sans-serif; } .monospace { font-family: Lucida Console, Courier, monospace; } .cursive { font-family: cursive; } .fantasy { font-family: fantasy; }
Specification | Status | Comment |
---|---|---|
CSS Fonts Module Level 4 The definition of 'generic font families' in that specification. | Editor's Draft | Adds new generic font families, specifically: system-ui , emoji , math , and fangsong . |
CSS Fonts Module Level 3 The definition of 'font-family' in that specification. | Candidate Recommendation | No significant change |
CSS Level 2 (Revision 1) The definition of 'font-family' in that specification. | Recommendation | No significant change |
CSS Level 1 The definition of 'font-familiy' in that specification. | Recommendation | Initial definition |
Initial value | depends on user agent |
---|---|
Applies to | all elements. It also applies to ::first-letter and ::first-line . |
Inherited | yes |
Media | visual |
Computed value | as specified |
Animation type | discrete |
Canonical order | the unique non-ambiguous order defined by the formal grammar |
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 1 | Yes | 1 | 3 | 3.5 | 1 |
system-ui |
56 | No |
No |
No | 43 | 92 3 |
Feature | Android webview | Chrome for Android | Edge mobile | Firefox for Android | Opera Android | iOS Safari | Samsung Internet |
---|---|---|---|---|---|---|---|
Basic support | 1 | 1 | Yes | 4 | 6 | 1 | ? |
system-ui |
56 | 56 | No | ? | 43 | Yes2 4 | ? |
1. Supported on macOS only.
2. Supported as -apple-system
.
3. Supported since macOS 10.11.
4. Supported since iOS 9.
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/font-family