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.
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:
Syntax
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
orline-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
, ordashed
. text-decoration-thickness
-
Sets the thickness of the line used for the decoration.
Examples
Demonstration of text-decoration values
.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; }
<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>
See also
- The individual text-decoration properties are
text-decoration-line
,text-decoration-color
,text-decoration-style
, andtext-decoration-thickness
. - The
text-decoration-skip-ink
,text-underline-offset
, andtext-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.