font-variation-settings
Quick Summary for font-variation-settings
The font-variation-settings CSS property provides low-level control over variable font characteristics, by specifying the four letter axis names of the characteristics you want to vary, along with their values.
Code Usage for font-variation-settings
/* Use the default settings */ font-variation-settings: normal;  /* Set values for variable font axis names */ font-variation-settings: "XHGT" 0.7;  /* Global values */ font-variation-settings: inherit; font-variation-settings: initial; font-variation-settings: revert; font-variation-settings: unset; 
More Details for font-variation-settings

font-variation-settings

The font-variation-settings CSS property provides low-level control over variable font characteristics, by specifying the four letter axis names of the characteristics you want to vary, along with their values.

Syntax

/* Use the default settings */ font-variation-settings: normal;  /* Set values for variable font axis names */ font-variation-settings: "XHGT" 0.7;  /* Global values */ font-variation-settings: inherit; font-variation-settings: initial; font-variation-settings: revert; font-variation-settings: unset; 

Values

This property's value can take one of two forms:

normal

Text is laid out using default settings.

<string> <number>

When rendering text, the list of variable font axis names is passed to the text layout engine to enable or disable font features. Each setting is always one or more pairs consisting of a <string> of 4 ASCII characters followed by a <number> indicating the axis value to set. If the <string> has more or fewer characters or contains characters outside the U+20 - U+7E codepoint range, the whole property is invalid. The <number> can be fractional or negative, depending on the value range available in your font, as defined by the font designer.

Description

This property is a low-level mechanism designed to set variable font features where no other way to enable or access those features exist. You should only use it when no basic properties exist to set those features (e.g. font-weight, font-style).

Font characteristics set using font-variation-settings will always override those set using the corresponding basic font properties, e.g. font-weight, no matter where they appear in the cascade. In some browsers, this is currently only true when the @font-face declaration includes a font-weight range.

Registered and custom axes

Variable font axes come in two types: registered and custom.

Registered axes are the most commonly encountered — common enough that the authors of the specification felt they were worth standardizing. Note that this doesn't mean that the author has to include all of these in their font.

Here are the registered axes along with their corresponding CSS properties:

Axis Tag CSS Property
"wght" font-weight
"wdth" font-stretch
"slnt" (slant) font-style: oblique + angle
"ital" font-style: italic
"opsz"

font-optical-sizing

Custom axes can be anything the font designer wants to vary in their font, for example ascender or descender heights, the size of serifs, or anything else they can imagine. Any axis can be used as long as it is given a unique 4-character axis. Some will end up becoming more common, and may even become registered over time.

Note: Registered axis tags are identified using lower-case tags, whereas custom axes should be given upper-case tags. Note that font designers aren't forced to follow this practice in any way, and some won't. The important takeaway here is that axis tags are case-sensitive.

To use variable fonts on your operating system, you need to make sure that it is up to date. For example Linux OSes need the latest Linux Freetype version, and macOS before 10.13 does not support variable fonts. If your operating system is not up to date, you will not be able to use variable fonts in web pages or the Firefox Developer Tools.

Formal definition

Initial valuenormal
Applies toall elements. It also applies to ::first-letter and ::first-line.
Inheritedyes
Computed valueas specified
Animation typea transform

Formal syntax

normal | [ <string> <number> ]#

Examples

You can find a number of other variable fonts examples at our Variable fonts guide, v-fonts.com, and axis-praxis.org.

Weight (wght)

The following live example's CSS can be edited to allow you to play with font weight values.

Slant (slnt)

The following live example's CSS can be edited to allow you to play with font slant/oblique values.

Specifications

Specification
CSS Fonts Module Level 4 # font-variation-settings-def

See also

Variable fonts guide OpenType Font Variations Overview OpenType Design-Variation Axis Tag Registry

Last modified: Sep 18, 2021, by MDN contributors

Select your preferred language English (US)Français日本語Português (do Brasil)中文 (简体) Change language

No Items Found.

Add Comment
Type in a Nick Name here
 
Other Categories in CSS
css
Search CSS
Search CSS by entering your search text above.
Welcome

This is my test area for webdev. I keep a collection of code here, mostly for my reference. Also if i find a good link, i usually add it here and then forget about it. more...

Subscribe to weekly updates about things i have added to the site or thought interesting during the last week.

You could also follow me on twitter or not... does anyone even use twitter anymore?

If you found something useful or like my work, you can buy me a coffee here. Mmm Coffee. ☕

❤️👩‍💻🎮

🪦 2000 - 16 Oct 2022 - Boots
Random Quote
Interesting...

Me
Random CSS Property

min-block-size

The min-block-size CSS property defines the minimum horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the min-width or the min-height property, depending on the value of writing-mode.
min-block-size css reference