The font-variant
CSS shorthand property allows you to set all the font variants for a font.
You can also set the <font-variant-css2>
values of font-variant
defined in CSS Level 2.1, (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;
font-variant: inherit;
font-variant: initial;
font-variant: revert;
font-variant: revert-layer;
font-variant: unset;
Values
-
normal
-
Specifies a normal font face. Each longhand property has an initial value of normal
.
-
none
-
Sets the value of the font-variant-ligatures
as none
and the values of the other longhand properties 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-ligatures
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. The small-caps
value is the only non-normal
font variant valid within the font
shorthand 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
, and ruby
.
sub
, super
-
Specifies the keywords and functions related to the font-variant-position
longhand property.
text
, emoji
, unicode
-
Specifies the keywords and functions related to the font-variant-emoji
longhand property.
font-variant =
normal |
none |
[ [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ] || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || [ 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> ) ] || [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ] || [ <east-asian-variant-values> || <east-asian-width-values> || ruby ] || [ sub | super ] || [ text | emoji | unicode ] ]
<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> =
<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
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
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
font-variant |
1 |
12 |
1 |
4Only supports the small-caps and normal keywords.
|
3.5 |
1 |
4.4 |
18 |
4 |
11 |
1 |
1.0 |
css_fonts_shorthand |
52 |
79 |
34 |
No |
39 |
9.1 |
52 |
52 |
34 |
41 |
9.3 |
6.0 |
font-variant-emoji |
No |
No |
108 |
No |
No |
No |
No |
No |
108 |
No |
No |
No |
greek_accented_characters |
NoSome operating systems may correctly omit accents in all-uppercase Greek text.
|
NoSome operating systems may correctly omit accents in all-uppercase Greek text.
|
NoSome operating systems may correctly omit accents in all-uppercase Greek text.
|
No |
NoSome operating systems may correctly omit accents in all-uppercase Greek text.
|
No |
NoSome operating systems may correctly omit accents in all-uppercase Greek.
|
NoSome operating systems may correctly omit accents in all-uppercase Greek text.
|
NoSome operating systems may correctly omit accents in all-uppercase Greek text.
|
NoSome operating systems may correctly omit accents in all-uppercase Greek text.
|
No |
NoSome operating systems may correctly omit accents in all-uppercase Greek text.
|
turkic_is |
31 |
12 |
14 |
4 |
18 |
8 |
4.4.3 |
31 |
14 |
18 |
8 |
2.0 |
uppercase_eszett |
NoSome operating systems may capitalize ß as SS .
|
NoSome operating systems may capitalize ß as SS .
|
NoSome operating systems may capitalize ß as SS .
|
No |
NoSome operating systems may capitalize ß as SS .
|
No |
NoSome operating systems may capitalize ß as SS .
|
NoSome operating systems may capitalize ß as SS .
|
NoSome operating systems may capitalize ß as SS .
|
NoSome operating systems may capitalize ß as SS .
|
No |
NoSome operating systems may capitalize ß as SS .
|