W3cubDocs

/CSS

font-variant

The font-variant CSS shorthand property allows you to set all the font variants for a font.

You can also set the CSS Level 2 (Revision 1) values of font-variant, (that is, normal or small-caps), by using the font shorthand.

Constituent properties

This property is a shorthand for the following CSS properties:

Syntax

font-variant: small-caps;
font-variant: common-ligatures small-caps;

/* Global values */
font-variant: inherit;
font-variant: initial;
font-variant: unset;

Values

normal
Specifies a normal font face; each of the longhand properties has an initial value of normal. Longhand properties of font-variant are: font-variant-caps, font-variant-numeric, font-variant-alternates, font-variant-ligatures, and font-variant-east-asian.
none
Sets the value of the font-variant-ligatures to none and the values of the other longhand property as normal, their initial value.
<common-lig-values>, <discretionary-lig-values>, <historical-lig-values>, <contextual-alt-values>
Specifies the keywords related to the font-variant-ligatures longhand property. The possible values are: common-ligatures, no-common-ligatures, discretionary-ligatures, no-discretionary-ligatures, historical-ligatures, no-historical-ligatures, contextual, and no-contextual.
stylistic(), historical-forms, styleset(), character-variant(), swash(), ornaments(), annotation()
Specifies the keywords and functions related to the font-variant-alternates longhand property.
small-caps, all-small-caps, petite-caps, all-petite-caps, unicase, titling-caps
Specifies the keywords and functions related to the font-variant-caps longhand property.
<numeric-figure-values>, <numeric-spacing-values>, <numeric-fraction-values>, ordinal, slashed-zero
Specifies the keywords related to the font-variant-numeric longhand property. The possible values are: lining-nums, oldstyle-nums, proportional-nums, tabular-nums, diagonal-fractions, stacked-fractions, ordinal, and slashed-zero.
<east-asian-variant-values>, <east-asian-width-values>, ruby
Specifies the keywords related to the font-variant-east-asian longhand property. The possible values are: jis78, jis83, jis90, jis04, simplified, traditional, full-width, proportional-width, ruby.

Formal definition

Initial value normal
Applies to all elements. It also applies to ::first-letter and ::first-line.
Inherited yes
Computed value as specified
Animation type discrete

Formal syntax

normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]

where
<common-lig-values> = [ common-ligatures | no-common-ligatures ]
<discretionary-lig-values> = [ discretionary-ligatures | no-discretionary-ligatures ]
<historical-lig-values> = [ historical-ligatures | no-historical-ligatures ]
<contextual-alt-values> = [ contextual | no-contextual ]
<feature-value-name> = <custom-ident>
<numeric-figure-values> = [ lining-nums | oldstyle-nums ]
<numeric-spacing-values> = [ proportional-nums | tabular-nums ]
<numeric-fraction-values> = [ diagonal-fractions | stacked-fractions ]
<east-asian-variant-values> = [ jis78 | jis83 | jis90 | jis04 | simplified | traditional ]
<east-asian-width-values> = [ full-width | proportional-width ]

Examples

Setting the small-caps font variant

HTML

<p class="normal">Firefox rocks!</p>
<p class="small">Firefox rocks!</p>

CSS

p.normal {
  font-variant: normal;
}
p.small {
  font-variant: small-caps;
}

Result

Specifications

Specification Status Comment
CSS Fonts Module Level 3
The definition of 'font-variant' in that specification.
Candidate Recommendation Made it a shorthand of the new font-variant-* properties.
CSS Level 2 (Revision 1)
The definition of 'font-variant' in that specification.
Recommendation No change
CSS Level 1
The definition of 'font-variant' in that specification.
Recommendation Initial definition

Browser compatibilityUpdate compatibility data on GitHub

Desktop
Chrome Edge Firefox Internet Explorer Opera Safari
font-variant 1 12 1 4 3.5 1
CSS Fonts Module Level 3 shorthand 52 79 34
34
33 — 34
Disabled
Disabled From version 33 until version 34 (exclusive): this feature is behind the layout.css.font-features.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
No 39 9.1
Greek accented characters No
No
Some operating systems may correctly omit accents in all-uppercase Greek text.
No
No
Some operating systems may correctly omit accents in all-uppercase Greek text.
No
No
Some operating systems may correctly omit accents in all-uppercase Greek text.
No No
No
Some operating systems may correctly omit accents in all-uppercase Greek text.
No
iİ and ıI 31 12 14 4 18 8
ßSS No
No
Some operating systems may capitalize ß as SS.
No
No
Some operating systems may capitalize ß as SS.
No
No
Some operating systems may capitalize ß as SS.
No No
No
Some operating systems may capitalize ß as SS.
No
Mobile
Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
font-variant 1 18 4 11 1 1.0
CSS Fonts Module Level 3 shorthand 52 52 34
34
33 — 34
Disabled
Disabled From version 33 until version 34 (exclusive): this feature is behind the layout.css.font-features.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
41 9.3 6.0
Greek accented characters No
No
Some operating systems may correctly omit accents in all-uppercase Greek.
No
No
Some operating systems may correctly omit accents in all-uppercase Greek text.
No
No
Some operating systems may correctly omit accents in all-uppercase Greek text.
No
No
Some operating systems may correctly omit accents in all-uppercase Greek text.
No No
No
Some operating systems may correctly omit accents in all-uppercase Greek text.
iİ and ıI ≤37 31 14 18 8 2.0
ßSS No
No
Some operating systems may capitalize ß as SS.
No
No
Some operating systems may capitalize ß as SS.
No
No
Some operating systems may capitalize ß as SS.
No
No
Some operating systems may capitalize ß as SS.
No No
No
Some operating systems may capitalize ß as SS.

See also

© 2005–2020 Mozilla 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-variant