font-synthesis-style
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2023.
The font-synthesis-style CSS property lets you specify whether or not the browser may synthesize the oblique typeface when it is missing in a font family.
It is often convenient to use the shorthand property font-synthesis to control all typeface synthesis values.
Syntax
/* Keyword values */
font-synthesis-style: auto;
font-synthesis-style: none;
font-synthesis-style: oblique-only;
/* Global values */
font-synthesis-style: inherit;
font-synthesis-style: initial;
font-synthesis-style: revert;
font-synthesis-style: revert-layer;
font-synthesis-style: unset;
Values
auto-
Indicates that the missing oblique typeface may be synthesized by the browser if needed.
none-
Indicates that the synthesis of the missing oblique typeface by the browser is not allowed.
oblique-only-
Same as
auto, but no font synthesis occurs iffont-style: italicis set.
Formal definition
| Initial value | auto |
|---|---|
| Applies to | all elements and text. It also applies to ::first-letter and ::first-line. |
| Inherited | yes |
| Computed value | as specified |
| Animation type | discrete |
Formal syntax
font-synthesis-style =
auto |
none |
oblique-only
Examples
>Disabling synthesis of oblique typeface
This example shows turning off synthesis of the oblique typeface by the browser in the Montserrat font.
HTML
<p class="english">
This is the default <em>oblique typeface</em> and
<strong>bold typeface</strong>.
</p>
<p class="english no-syn">
The <em>oblique typeface</em> is turned off here but not the
<strong>bold typeface</strong>.
</p>
CSS
@import "https://fonts.googleapis.com/css2?family=Montserrat&display=swap";
.english {
font-family: "Montserrat", sans-serif;
}
.no-syn {
font-synthesis-style: none;
}
Result
Comparison of font-synthesis-style values
This example compares all the font-synthesis-style values using italic and oblique styled texts.
HTML
<div class="fss-none">
<h2>font-synthesis-style: none</h2>
<p class="oblique">This text is set to <code>oblique</code></p>
<p class="italic">This text is set to <code>italic</code></p>
</div>
<div class="fss-auto">
<h2>font-synthesis-style: auto</h2>
<p class="oblique">This text is set to <code>oblique</code></p>
<p class="italic">This text is set to <code>italic</code></p>
</div>
<div class="fss-oblique-only">
<h2>font-synthesis-style: oblique-only</h2>
<p class="oblique">This text is set to <code>oblique</code></p>
<p class="italic">This text is set to <code>italic</code></p>
</div>
CSS
/* Specify style of the font synthesis */
.fss-none {
font-synthesis-style: none;
}
.fss-auto {
font-synthesis-style: auto;
}
.fss-oblique-only {
font-synthesis-style: oblique-only;
}
/* Set font styles */
.oblique {
font-style: oblique;
}
.italic {
font-style: italic;
}
/* Styles for the demonstration */
.oblique::after {
content: " (font-style: oblique)";
font-size: 0.8rem;
vertical-align: sub;
}
.italic::after {
content: " (font-style: italic)";
font-size: 0.8rem;
vertical-align: sub;
}
Result
Specifications
| Specification |
|---|
| CSS Fonts Module Level 4> # font-synthesis-style> |
Browser compatibility
Loading…