The text-underline-offset
CSS property sets the offset distance of an underline text decoration line (applied using text-decoration
) from its original position.
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 |
Inherited | yes |
Computed value | specified keyword or absolute length |
Animation type | by computed value |
Formal syntax
auto | <length> | <percentage>
Examples
Demonstration of text-underline-offset
<p class="oneline">Here's some text with an offset wavy red underline!</p> <br /> <p class="twolines"> 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; } .twolines { text-decoration-color: purple; text-decoration-line: underline overline; }