The font-style property chooses a normal, italic, or oblique face from the current font-family.
Italic prefers a designed italic face. Oblique prefers a slanted face (or a slant of the regular face). If the style is missing, browsers often synthesize a slant — control that with font-synthesis. For meaning-based emphasis in HTML, prefer <em> over styling alone.
Baseline · Widely available.
Not deprecated. Spec also defines left / right slant directions, but browsers do not support those values yet. Avoid long blocks of italic text for accessibility.
Ask for oblique. Prefer a slanted face over a designed italic.
Add an angle.20deg sets how far letters lean (valid range: -90deg to 90deg).
Synthesis. Without a real oblique face, the browser may slant the regular glyphs.
vs italic. Use italic for book-style italics; use oblique when you want a controlled slant.
Edge Cases & Pitfalls
If italic looks fake or hard to read, check these first.
a11y
Long italic blocks are harder to read
MDN notes that large stretches of italic can be difficult for people with dyslexia and similar concerns. Prefer short emphasized phrases.
fake
Missing faces get synthesized
If italic/oblique is unavailable, browsers may artificially slant glyphs. Use font-synthesis to turn that off when you only want real faces.
semantics
Style is not the same as meaning
Visual italic ≠ emphasis. For spoken stress or importance, use <em> (or <i> when appropriate), then style with CSS.
unsupported
left and right are not usable yet
The Fonts module defines those keywords for slant direction, but no major browser supports them. Stick to normal, italic, and oblique.
shorthand
font can overwrite style
The font shorthand resets font-style. Put font-style after the shorthand, or include the style in the shorthand.
Compatibility
Browser Support
font-style is a browser CSS property for choosing upright, italic, or oblique faces. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available
font-style
normal, italic, and oblique work in all modern browsers and Internet Explorer. oblique with an angle is supported in current engines.
100%Modern browser support
Google ChromeAll
Full support
Mozilla FirefoxAll
Full support
Apple SafariAll
Full support
Microsoft EdgeAll
Full support
OperaAll
Full support
Samsung InternetAll
Full support
Internet ExplorerAll (core values)
Full support
font-styleWidely supported
Bottom line: Safe everywhere for normal / italic / oblique. Prefer fonts with true italic faces for best quality. It is not a runtime API.
Remember
Key Takeaways
Role: choose normal, italic, or oblique letterforms.
Italic vs oblique: designed italics vs slanted (often synthesized) faces.
Semantics: use <em> for meaning; use font-style for looks.
Initial value:normal. Inherited by default.
One line:font-style: italic; picks an italic face when the font provides one.
Frequently Asked Questions
It selects a normal (upright), italic, or oblique face from the font family. Italic uses a designed italic face when available; oblique is a slanted style.
The initial value is normal, which shows upright text.
Italic prefers a true italic design with reshaped letters. Oblique prefers a slanted face, or a slant of the regular face. If the requested style is missing, browsers often synthesize a slant.
Use the HTML em element for semantic emphasis. Use font-style when you only need a visual slant without changing meaning.
Yes. font-style: oblique 20deg requests a slant angle between -90deg and 90deg. If omitted, browsers often use about 14deg.
It is Baseline Widely available. normal, italic, and oblique work everywhere modern browsers run. oblique with an angle has broader support in recent engines. It is a browser CSS property, not a Node.js feature.