text-decoration
===============

The **`text-decoration`** shorthand CSS property sets the appearance of decorative lines on text. It is a shorthand for `text-decoration-line`, `text-decoration-color`, `text-decoration-style`, and the newer `text-decoration-thickness` property.

Try it
------

Text decorations are drawn across descendant text elements. This means that if an element specifies a text decoration, then a child element can't remove the decoration. For example, in the markup `<p>This text has <em>some emphasized words</em> in it.</p>`, the style rule `p { text-decoration: underline; }` would cause the entire paragraph to be underlined. The style rule `em { text-decoration: none; }` would not cause any change; the entire paragraph would still be underlined. However, the rule `em { text-decoration: overline; }` would cause a second decoration to appear on "some emphasized words".

Constituent properties
----------------------

This property is a shorthand for the following CSS properties:

* `text-decoration-color`
* `text-decoration-line`
* `text-decoration-style`
* `text-decoration-thickness`
Syntax
------


```css
text-decoration: underline;
text-decoration: overline red;
text-decoration: none;

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


The `text-decoration` property is specified as one or more space-separated values representing the various longhand text-decoration properties.

### Values

`text-decoration-line`

Sets the kind of decoration used, such as `underline` or `line-through`.

`text-decoration-color`

Sets the color of the decoration.

`text-decoration-style`

Sets the style of the line used for the decoration, such as `solid`, `wavy`, or `dashed`.

`text-decoration-thickness`

Sets the thickness of the line used for the decoration.

Formal definition
-----------------

|  |  |
| --- | --- |
| Initial value | as each of the properties of the shorthand:* `text-decoration-color`: `currentcolor`
* `text-decoration-style`: `solid`
* `text-decoration-line`: `none`
 |
| Applies to | all elements. It also applies to `::first-letter` and `::first-line`. |
| Inherited | no |
| Computed value | as each of the properties of the shorthand:* `text-decoration-line`: as specified
* `text-decoration-style`: as specified
* `text-decoration-color`: computed color
* `text-decoration-thickness`: as specified
 |
| Animation type | as each of the properties of the shorthand:* `text-decoration-color`: a color
* `text-decoration-style`: discrete
* `text-decoration-line`: discrete
* `text-decoration-thickness`: by computed value type
 |

Formal syntax
-------------
```

text-decoration =   
  <'text-decoration-line'>   ||  
  <'text-decoration-style'>  ||  
  <'text-decoration-color'>    
  
```

Examples
--------

### Demonstration of text-decoration values


```css
.under {
  text-decoration: underline red;
}

.over {
  text-decoration: wavy overline lime;
}

.line {
  text-decoration: line-through;
}

.plain {
  text-decoration: none;
}

.underover {
  text-decoration: dashed underline overline;
}

.thick {
  text-decoration: solid underline purple 4px;
}

.blink {
  text-decoration: blink;
}
```



```html
<p class="under">This text has a line underneath it.</p>
<p class="over">This text has a line over it.</p>
<p class="line">This text has a line going through it.</p>
<p>
  This <a class="plain" href="#">link will not be underlined</a>, as links
  generally are by default. Be careful when removing the text decoration on
  anchors since users often depend on the underline to denote hyperlinks.
</p>
<p class="underover">This text has lines above <em>and</em> below it.</p>
<p class="thick">
  This text has a really thick purple underline in supporting browsers.
</p>
<p class="blink">
  This text might blink for you, depending on the browser you use.
</p>
```


#### Result

Specifications
--------------

| Specification |
| --- |
| CSS Text Decoration Module Level 3 # text-decoration-property |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* The individual text-decoration properties are `text-decoration-line`, `text-decoration-color`, `text-decoration-style`, and `text-decoration-thickness`.
* The `text-decoration-skip-ink`, `text-underline-offset`, and `text-underline-position` properties also affect text-decoration, but are not included in the shorthand.
* The `list-style` attribute controls the appearance of items in HTML `<ol>` and `<ul>` lists.