text-underline-offset
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since November 2020.
The text-underline-offset
CSS property sets the offset distance of an underline text decoration line (applied using text-decoration
) from its original position.
Try it
text-underline-offset
is not part of the text-decoration
shorthand. While an element can have multiple text-decoration
lines, text-underline-offset
only impacts underlining, and not other possible line decoration options such as overline
or line-through
.
Syntax
/* Single keyword */
text-underline-offset: auto;
/* length */
text-underline-offset: 0.1em;
text-underline-offset: 3px;
/* percentage */
text-underline-offset: 20%;
/* Global values */
text-underline-offset: inherit;
text-underline-offset: initial;
text-underline-offset: revert;
text-underline-offset: revert-layer;
text-underline-offset: unset;
The text-underline-offset
property is specified as a single value from the list below.
Values
auto
-
The browser chooses the appropriate offset for underlines.
<length>
-
Specifies the offset of underlines as a
<length>
, overriding the font file suggestion and the browser default. It is recommended to useem
units so the offset scales with the font size. <percentage>
-
Specifies the offset of underlines as a
<percentage>
of 1 em in the element's font. A percentage inherits as a relative value, and so therefore scales with changes in the font. For a given application of this property, the offset is constant across the whole box that the underline is applied to, even if there are child elements with different font sizes or vertical alignment.
Formal definition
Initial value | auto |
---|---|
Applies to | all elements. It also applies to ::first-letter and ::first-line . |
Inherited | yes |
Percentages | refer to the font size of the element itself |
Computed value | as specified |
Animation type | by computed value type |
Formal syntax
text-underline-offset =
auto |
<length-percentage>
<length-percentage> =
<length> |
<percentage>
Examples
Demonstration of text-underline-offset
<p class="one-line">Here's some text with an offset wavy red underline!</p>
<br />
<p class="two-lines">
This text has lines both above and below it. Only the bottom one is offset.
</p>
p {
text-decoration: underline wavy red;
text-underline-offset: 1em;
}
.two-lines {
text-decoration-color: purple;
text-decoration-line: underline overline;
}
Specifications
Specification |
---|
CSS Text Decoration Module Level 4 # underline-offset |
Browser compatibility
BCD tables only load in the browser