The text-emphasis-position property sets where emphasis marks are drawn—over or under the text in horizontal writing, and left or right in vertical writing. Like ruby, marks can increase line height when space is tight.
It is inherited. The initial value is auto. It is not part of the text-emphasis shorthand, so style and color can change without resetting position.
Note Not reset by text-emphasis
The shorthand never sets position. Use this property when placement must change. Preferred positions often differ by language (e.g. Japanese over, Chinese under).
Syntax
CSS Syntax
syntax.css
text-emphasis-position:auto | over | under | [ over | under ] [ right | left ] | initial | inherit;
One value: auto, over, or under (missing side defaults to right). Two values: one of over/under plus one of right/left (order does not matter).
Add marks. Style/color still come from text-emphasis.
Pick a side.left moves marks to the left of each glyph.
Keep over. The pair stays valid for mixed horizontal/vertical layouts.
Edge Cases & Pitfalls
If marks do not move where you expect, check these first.
style
No style means no position
Without text-emphasis-style (or the shorthand), there are no marks to place.
shorthand
Shorthand never resets position
Changing text-emphasis leaves this property alone. That is intentional so language position can stay stable.
mode
Writing mode changes which keyword wins visually
In horizontal text, focus on over/under. In vertical text, focus on left/right.
height
Marks can grow line height
If leading is tight, browsers expand the line so marks fit—similar to ruby.
lang
Prefer positions by language
Japanese often uses over; Chinese often uses under. Match reader expectations when you can.
Compatibility
Browser Support
text-emphasis-position is a browser text-decoration property. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available
text-emphasis-position
Interoperable across modern browsers since about March 2022. Internet Explorer does not support this property.
94%Modern browsers
Google Chrome99+
Full
Mozilla Firefox46+
Full
Apple Safari7+
Full
Microsoft Edge99+
Full
Opera85+
Full
Samsung Internet18+
Full
Internet ExplorerNo
None
text-emphasis-positionWidely supported
Bottom line: Safe for modern sites. Support tracks the text-emphasis family. The auto keyword is newer than over/under; IE has no support.
Remember
Key Takeaways
Role: place emphasis marks over/under or left/right of characters.
Initial value:auto. Inherited. Not part of text-emphasis.
Keywords:over/under for horizontal; left/right for vertical.
Language tip: Japanese often over; Chinese often under.
One line:text-emphasis-position decides which side of the glyph gets the emphasis mark.
Frequently Asked Questions
It sets where emphasis marks are drawn relative to characters: over or under in horizontal writing, and left or right in vertical writing.
The initial value is auto. That draws marks over the text in horizontal writing mode and to the right in vertical writing mode.
No. The text-emphasis shorthand does not set or reset position. Change placement with this longhand only.
Yes. Marks appear only when text-emphasis-style or the shorthand creates them. Position then controls placement.
Japanese often prefers over (horizontal) and right (vertical). Chinese often prefers under (horizontal) and right (vertical).
It is Baseline Widely available (interoperable since about March 2022) in modern browsers. Internet Explorer does not support it. It is a browser rendering property, not a Node.js feature.