The font CSS property is either a shorthand property for setting font-style, font-variant, font-weight, font-size, line-height, and font-family; or a way to set the element's font to a system font, using specific keywords.
/* size | family */ font: 2em "Open Sans", sans-serif; /* style | size | family */ font: italic 2em "Open Sans", sans-serif; /* style | variant | weight | size/line-height | family */ font: italic small-caps bolder 16px/3 cursive; /* style | variant | weight | stretch | size/line-height | family */ font: italic small-caps bolder condensed 16px/3 cursive; /* The font used in system dialogs */ font: message-box; font: icon; /* Global values */ font: inherit; font: initial; font: unset;
<div id="container"> <div class="subcontainer"> <p class="example" style="font: italic 1.5em 'Open Sans', serif;">As much mud in the streets as if the waters had but newly retired from the face of the earth, and it would not be wonderful to meet a Megalosaurus, forty feet long or so, waddling like an elephantine lizard up Holborn Hill.</p> <p class="caption">italic 1.5em 'Open Sans', serif</p> </div> <div class="subcontainer"> <p class="example" style="font: italic small-caps bold 16px/2 cursive;">As much mud in the streets as if the waters had but newly retired from the face of the earth, and it would not be wonderful to meet a Megalosaurus, forty feet long or so, waddling like an elephantine lizard up Holborn Hill.</p> <p class="caption">italic small-caps bold 16px/2 cursive</p> </div> <div class="subcontainer"> <p class="example" style="font: 1.2em 'Open Sans', sans-serif;">As much mud in the streets as if the waters had but newly retired from the face of the earth, and it would not be wonderful to meet a Megalosaurus, forty feet long or so, waddling like an elephantine lizard up Holborn Hill.</p> <p class="caption">1.2em 'Open Sans', sans-serif</p> </div> <div class="subcontainer"> <p class="example" style="font: small-caps bold 24px/1 sans-serif;">As much mud in the streets as if the waters had but newly retired from the face of the earth, and it would not be wonderful to meet a Megalosaurus, forty feet long or so, waddling like an elephantine lizard up Holborn Hill.</p> <p class="caption">small-caps bold 24px/1 sans-serif</p> </div> </div>
#container {
width: 100%;
background-color: #F4F7F8;
display: flex;
}
p {
margin: 10px;
overflow: hidden;
background-color: white;
color: #4d9f0c;
}
.subcontainer {
}
.example {
height: 300px;
word-break: break-all;
}
.caption {
margin-top: 20px;
font-family: monospace;
color: black;
}
As with any shorthand property, any individual value that is not specified is set to its corresponding initial value (possibly overriding values previously set using non-shorthand properties). Though not directly settable by font, the longhands font-stretch, font-size-adjust, and font-kerning are also reset to their initial values.
| Initial value | as each of the properties of the shorthand:
|
|---|---|
| Applies to | all elements. It also applies to ::first-letter and ::first-line. |
| Inherited | yes |
| Percentages | as each of the properties of the shorthand:
|
| Media | visual |
| Computed value | as each of the properties of the shorthand:
|
| Animation type | as each of the properties of the shorthand:
|
| Canonical order | order of appearance in the formal grammar of the values |
Syntax
The font property may be specified as either a single keyword, which will select a system font, or as a shorthand for various font-related properties.
If font is specified as a system keyword, it must be one of: caption, icon, menu, message-box, small-caption, status-bar.
If font is specified as a shorthand for several font-related properties, then:
- it must include values for:
- it may optionally include values for:
font-style,font-variantandfont-weightmust precedefont-sizefont-variantmay only specify the values defined in CSS 2.1, that isnormalandsmall-capsline-heightmust immediately followfont-size, preceded by "/", like this: "16px/3"font-familymust be the last value specified.
Values
<'font-style'>- See the
font-styleCSS property. <'font-variant'>- See the
font-variantCSS property. <'font-weight'>- See the
font-weightCSS property. <'font-stretch'>- See the
font-stretchCSS property. <'font-size'>- See the
font-sizeCSS property. <'line-height'>- See the
line-heightCSS property. <'font-family'>- See the
font-familyCSS property. caption- The system font used for captioned controls (e.g., buttons, drop-downs, etc.).
-
icon - The system font used to label icons.
-
menu - The system font used in menus (e.g., dropdown menus and menu lists).
-
message-box - The system font used in dialog boxes.
-
small-caption - The system font used for labeling small controls.
status-bar- The system font used in window status bars.
- Prefixed system font keywords
- Browsers often implement several more, prefixed, keywords: Gecko implements
-moz-window,-moz-document,-moz-desktop,-moz-info,-moz-dialog,-moz-button,-moz-pull-down-menu,-moz-list, and-moz-field.
Formal syntax
[ [ <'font-style'> || <font-variant-css21> || <'font-weight'> || <'font-stretch'> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ] | caption | icon | menu | message-box | small-caption | status-bar
Examples
/* Set the font size to 12px and the line height to 14px.
Set the font family to sans-serif */
p { font: 12px/14px sans-serif }
/* Set the font size to 80% of the parent element
or default value (if no parent element present).
Set the font family to sans-serif */
p { font: 80% sans-serif }
/* Set the font weight to bold,
the font-style to italic,
the font size to large,
and the font family to serif. */
p { font: bold italic large serif }
/* Use the same font as the status bar of the window */
p { font: status-bar }
Live sample
Specifications
| Specification | Status | Comment |
|---|---|---|
| CSS Fonts Module Level 3 The definition of 'font' in that specification. |
Candidate Recommendation | Added support for font-stretch values. |
| CSS Level 2 (Revision 1) The definition of 'font-weight' in that specification. |
Recommendation | Added support for keywords. |
| CSS Level 1 The definition of 'font' in that specification. |
Recommendation | Initial definition. |
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|---|
| Shorthand | 1.0 | (Yes) | 1.0 (1.0) | 3.0 | 3.5 | 1.0 (85) |
| System fonts | 1.0 | (Yes) | 1.0 (1.0) | 4.0 | 6.0 | 1.0 (85) |
Support of font-stretch values |
(Yes) | ? | 43 (43) | ? | ? | ? |
| Feature | Android | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | ? | (Yes) | ? | ? | ? | ? |
Support of font-stretch values |
? | ? | 43 (43) | ? | ? | ? |