Web/CSS/text-underline-offset

From Get docs


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: 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 use em 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

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;
}

Specifications

Specification Status Comment
CSS Text Decoration Module Level 4The definition of 'text-underline-offset' in that specification. Working Draft Initial definition.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
text-underline-offset

Chrome No support No

Notes'

No support No

Notes'

Notes' See Chrome Platform Status entry for text-decoration-thickness, text-underline-offset and from-font keyword for text-underline-position.

Edge

No support No

Firefox Full support 70


Full support 70


Full support 69

Disabled'

Disabled' From version 69: this feature is behind the layout.css.text-underline-offset.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

IE

No support No

Opera

No support No

Safari

Full support 12.1

WebView Android

No support No

Chrome Android

No support No

Firefox Android

No support No

Opera Android

No support No

Safari iOS

Full support 12.2

Samsung Internet Android

No support No

percentage values Chrome

No support No

Edge

No support No

Firefox

Full support 74

IE

No support No

Opera

No support No

Safari

No support No

WebView Android

No support No

Chrome Android

No support No

Firefox Android

No support No

Opera Android

No support No

Safari iOS

No support No

Samsung Internet Android

No support No

Legend

Full support  
Full support
No support  
No support
See implementation notes.'
See implementation notes.
User must explicitly enable this feature.'
User must explicitly enable this feature.


See also