text-decoration-line

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

* Some parts of this feature may have varying levels of support.

The text-decoration-line CSS property sets the kind of decoration that is used on text in an element, such as an underline or overline.

Try it

text-decoration-line: none;
text-decoration-line: underline;
text-decoration-line: overline;
text-decoration-line: line-through;
text-decoration-line: grammar-error;
text-decoration-line: spelling-error;
text-decoration-line: underline overline;
text-decoration-line: underline line-through;
<section id="default-example">
  <p>
    I'd far rather be
    <span class="transition-all" id="example-element">happy than right</span>
    any day.
  </p>
</section>
p {
  font: 1.5em sans-serif;
}

When setting multiple line-decoration properties at once, it may be more convenient to use the text-decoration shorthand property instead.

Syntax

/* Single keyword */
text-decoration-line: none;
text-decoration-line: underline;
text-decoration-line: overline;
text-decoration-line: line-through;
text-decoration-line: blink;
text-decoration-line: spelling-error;
text-decoration-line: grammar-error;

/* Multiple keywords */
text-decoration-line: underline overline; /* Two decoration lines */
text-decoration-line: overline underline line-through; /* Multiple decoration lines */

/* Global values */
text-decoration-line: inherit;
text-decoration-line: initial;
text-decoration-line: revert;
text-decoration-line: revert-layer;
text-decoration-line: unset;

The text-decoration-line property is specified as none, or one or more space-separated values from the list below.

Values

none

Produces no text decoration.

underline

Each line of text has a decorative line beneath it.

overline

Each line of text has a decorative line above it.

line-through

Each line of text has a decorative line going through its middle.

The text blinks (alternates between visible and invisible). Conforming user agents may not blink the text. This value is deprecated in favor of CSS animations.

spelling-error

Each line of text uses the user agents' method of highlighting spelling mistakes, which is a dotted red line in most browsers.

grammar-error

Each line of text uses the user agents' method of highlighting grammar mistakes, which is a dotted green line in most browsers.

Note: When using spelling-error and grammar-error values, the browser disregards the other properties in the text-decoration shorthand (such as text-underline-position, color, or stroke).

Formal definition

Initial value none
Applies to all elements. It also applies to ::first-letter and ::first-line.
Inherited no
Computed value as specified
Animation type discrete

Formal syntax

text-decoration-line = 
none |
[ underline || overline || line-through || blink ]

Examples

Basic example

<p class="wavy">Here's some text with wavy red underline!</p>
<p class="both">This text has lines both above and below it.</p>
.wavy {
  text-decoration-line: underline;
  text-decoration-style: wavy;
  text-decoration-color: red;
}

.both {
  text-decoration-line: underline overline;
}

Errors example

In this example, the first paragraph contains a spelling mistake and uses the browser's styling for spelling errors on the misspelled word. The second paragraph uses the browser's styling for grammar errors. There is no styling change in browsers that do not support these text-decoration-line values.

<p>This text contains a <span class="spelling">speling</span> mistake.</p>
<p class="grammar">This text contain grammatical errors.</p>
.spelling {
  text-decoration-line: spelling-error;
}

.grammar {
  text-decoration-line: grammar-error;
}

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android
text-decoration-line 57 79 366–39 44 12.18 57 366–39 43 12.28 7.0 57
blink
57The blink value does not have any effect.
79The blink value does not have any effect.
26The blink value does not have any effect.
44 8
57The blink value does not have any effect.
26The blink value does not have any effect.
43 8
7.0The blink value does not have any effect.
57The blink value does not have any effect.
grammar-error 121 121 137 107 No 121 137 81 No 25.0 121
line-through 57 79 6 44 8 57 6 43 8 7.0 57
none 57 79 6 44 8 57 6 43 8 7.0 57
overline 57 79 6 44 8 57 6 43 8 7.0 57
spelling-error 121 121 137 107 No 121 137 81 No 25.0 121
underline 57 79 6 44 8 57 6 43 8 7.0 57

See also

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-line