text-emphasis-position
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.
The text-emphasis-position
CSS property sets where emphasis marks are drawn. Similar to the text rendered by the <ruby>
HTML element, if there isn't enough room for emphasis marks, the line height is increased.
Try it
Syntax
/* Initial value */
text-emphasis-position: auto;
/* Keyword values */
text-emphasis-position: over;
text-emphasis-position: under;
text-emphasis-position: over right;
text-emphasis-position: over left;
text-emphasis-position: under right;
text-emphasis-position: under left;
text-emphasis-position: left over;
text-emphasis-position: right over;
text-emphasis-position: right under;
text-emphasis-position: left under;
/* Global values */
text-emphasis-position: inherit;
text-emphasis-position: initial;
text-emphasis-position: revert;
text-emphasis-position: revert-layer;
text-emphasis-position: unset;
Values
The property accepts one or two values:
- If only one value is provided, it can be
auto
,over
, orunder
. When onlyover
orunder
is used,right
is assumed as the default position. - If two values are provided, they must include one of
over
orunder
and one ofright
orleft
. Their order does not matter.
The values include:
auto
-
Draws marks over the text in horizontal writing mode and to the right of the text in vertical writing mode.
over
-
Draws marks over the text in horizontal writing mode.
under
-
Draws marks under the text in horizontal writing mode.
right
-
Draws marks to the right of the text in vertical writing mode.
left
-
Draws marks to the left of the text in vertical writing mode.
Description
The preferred position of emphasis marks depends on the language. In Japanese for example, the preferred position is over right
. In Chinese, on the other hand, the preferred position is under right
. The informative table below summarizes the preferred emphasis mark positions for Chinese, Mongolian and Japanese:
Language | Preferred position | Illustration | ||
---|---|---|---|---|
Horizontal | Vertical | |||
Japanese | over | right | ||
Korean | ||||
Mongolian | ||||
Chinese | under | right |
Note:
The text-emphasis-position
cannot be set, and therefore are not reset either, using the text-emphasis
shorthand property.
Formal definition
Initial value | auto |
---|---|
Applies to | all elements |
Inherited | yes |
Computed value | as specified |
Animation type | discrete |
Formal syntax
Examples
Adding emphasis mark positions
Use the drop down menu to change the position of the emphasis marks. This will change the class on the <section>
element, which in turn, will update the position of the emphasis marks on the text.
HTML
<section id="setting" class="auto">
<p class="horizontal" lang="zh">你好世界</p>
<!-- Hello World in Chinese -->
<p class="vertical" lang="ja">世界、こんにちは。</p>
<!-- Hello World in Japanese -->
</section>
CSS
section p {
text-emphasis: filled circle tomato;
text-emphasis-position: auto;
}
.over-right p,
.preferred p [lang="ja"] {
text-emphasis-position: over right;
}
.over-left p {
text-emphasis-position: over left;
}
.under-right p,
.preferred p [lang="zh"] {
text-emphasis-position: under right;
}
.under-left p {
text-emphasis-position: under left;
}
.preferred p [lang="ja"] {
}
Result
Use the "Emphasis position" drop down to choose the location of the emphasis marks. The preferred
option in the drop down uses the preferred positions, as explained in the Description section.
Preferring ruby over emphasis marks
Some editors prefer to hide emphasis marks when they conflict with ruby. In HTML, this can be done with the following style rule:
ruby {
text-emphasis: none;
}
Preferring emphasis marks over ruby
Some other editors prefer to hide ruby when they conflict with emphasis marks. In HTML, this can be done with the following pattern:
em {
text-emphasis: dot; /* Set text-emphasis for <em> elements */
}
em rt {
display: none; /* Hide ruby inside <em> elements */
}
Specifications
Specification |
---|
CSS Text Decoration Module Level 3 # text-emphasis-position-property |
Browser compatibility
BCD tables only load in the browser
See also
text-underline-position
text-emphasis-style
text-emphasis-color
text-emphasis
shorthand propertywriting-mode