Archive for December 1st, 2009

Shorthand font property -> the Font property!

Tuesday, December 1st, 2009


Value: [ [ <'font-style'> || <'font-variant'> || <'font-weight'> ]? <’font-size’> [ / <'line-height'> ]? <’font-family’> ] | caption | icon | menu | message-box | small-caption | status-bar | inherit
Initial: see individual properties
Applies to: all elements
Inherited: yes
Percentages: see individual properties
Media: visual
Computed value: see individual properties

The ‘font’ property is, except as described below, a shorthand property for setting ‘font-style’, ‘font-variant’, ‘font-weight’, ‘font-size’, ‘line-height’ and ‘font-family’ at the same place in the style sheet. The syntax of this property is based on a traditional typographical shorthand notation to set multiple properties related to fonts.

All font-related properties are first reset to their initial values, including those listed in the preceding paragraph. Then, those properties that are given explicit values in the ‘font’ shorthand are set to those values. For a definition of allowed and initial values, see the previously defined properties.

p { font: 12px/14px sans-serif }
p { font: 80% sans-serif }
p { font: x-large/110% “New Century Schoolbook”, serif }
p { font: bold italic large Palatino, serif }
p { font: normal small-caps 120%/120% fantasy }

In the second rule, the font size percentage value (’80%’) refers to the font size of the parent element. In the third rule, the line height percentage refers to the font size of the element itself.

In the first three rules above, the ‘font-style’, ‘font-variant’ and ‘font-weight’ are not explicitly mentioned, which means they are all three set to their initial value (‘normal’). The fourth rule sets the ‘font-weight’ to ‘bold’, the ‘font-style’ to ‘italic’ and implicitly sets ‘font-variant’ to ‘normal’.

The fifth rule sets the ‘font-variant’ (‘small-caps’), the ‘font-size’ (120% of the parent’s font), the ‘line-height’ (120% times the font size) and the ‘font-family’ (‘fantasy’). It follows that the keyword ‘normal’ applies to the two remaining properties: ‘font-style’ and ‘font-weight’.

The following values refer to system fonts:

The font used for captioned controls (e.g., buttons, drop-downs, etc.).
The font used to label icons.
The font used in menus (e.g., dropdown menus and menu lists).
The font used in dialog boxes.
The font used for labeling small controls.
The font used in window status bars.