font
The font CSS shorthand property sets all the different properties of an element's font. Alternatively, it sets an element's font to a system font.
Try it
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-size-adjust and font-kerning are also reset to their initial values.
Constituent properties
This property is a shorthand for the following CSS properties:
Syntax
/* font-size font-family */
font: 1.2em "Fira Sans", sans-serif;
/* font-size/line height font-family */
font: 1.2em/2 "Fira Sans", sans-serif;
/* font-style font-weight font-size font-family */
font: italic bold 1.2em "Fira Sans", sans-serif;
/* font-stretch font-variant font-size font-family */
font: ultra-condensed small-caps 1.2em "Fira Sans", sans-serif;
/* system font */
font: caption;
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-capsfont-stretchmay only be a single keyword value.line-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.
System font values
caption-
The system font used for captioned controls (e.g., buttons, drop-downs, etc.).
icon-
The system font used to label icons.
-
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 definition
| Initial value | as each of the properties of the shorthand:
|
|---|---|
| Applies to | all elements and text. It also applies to ::first-letter and ::first-line. |
| Inherited | yes |
| Percentages | as each of the properties of the shorthand:
|
| Computed value | as each of the properties of the shorthand:
|
| Animation type | as each of the properties of the shorthand:
|
Formal syntax
font =
[ [ <'font-style'> || <font-variant-css2> || <'font-weight'> || <font-width-css3> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ] |
<system-family-name>
<font-variant-css2> =
normal |
small-caps
<font-width-css3> =
normal |
ultra-condensed |
extra-condensed |
condensed |
semi-condensed |
semi-expanded |
expanded |
extra-expanded |
ultra-expanded
<system-family-name> =
caption |
icon |
menu |
message-box |
small-caption |
status-bar
Examples
Setting font properties
/* 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 |
|---|
| CSS Fonts Module Level 4 # font-prop |
Browser compatibility
| desktop | mobile | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
font | |||||||||||
caption | |||||||||||
Support for font-stretch values in shorthand | |||||||||||
icon | |||||||||||
menu | |||||||||||
message-box | |||||||||||
small-caption | |||||||||||
status-bar | |||||||||||