Bird
Raised Fist0
CSSmarkup~5 mins

Text decoration in CSS

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction

Text decoration lets you add lines or styles to text to make it stand out or look different.

To underline links so users know they are clickable.
To strike through text when showing something is deleted or incorrect.
To add overlines or line-throughs for special text effects.
To style headings or important words with lines for emphasis.
To remove default underlines from links for a cleaner look.
Syntax
CSS
selector {
  text-decoration: value;
}

The value can be underline, overline, line-through, none, or a combination.

You can also control the color and style of the decoration with extra properties.

Examples
This underlines all paragraph text.
CSS
p {
  text-decoration: underline;
}
This removes the underline from all links.
CSS
a {
  text-decoration: none;
}
This adds a line above all level 1 headings.
CSS
h1 {
  text-decoration: overline;
}
This strikes through text inside span elements.
CSS
span {
  text-decoration: line-through;
}
Sample Program

This page shows different text decorations: underlined link, link without underline, struck-through text, and overlined text.

CSS
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Text Decoration Example</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      padding: 1rem;
    }
    a {
      text-decoration: underline;
      color: blue;
    }
    a.no-underline {
      text-decoration: none;
      color: red;
    }
    .strike {
      text-decoration: line-through;
      color: gray;
    }
    .overline {
      text-decoration: overline;
      color: green;
    }
  </style>
</head>
<body>
  <p>This is a <a href="#">normal link</a> with underline.</p>
  <p>This is a <a href="#" class="no-underline">link without underline</a>.</p>
  <p class="strike">This text is struck through.</p>
  <p class="overline">This text has an overline.</p>
</body>
</html>
OutputSuccess
Important Notes

Text decoration helps users understand meaning or importance of text visually.

Use text-decoration: none; carefully to avoid confusing users about links.

You can combine decorations like underline overline for multiple lines.

Summary

Text decoration adds lines like underline, overline, or line-through to text.

It is useful for links, emphasis, or showing deleted text.

You can control style and color for better design and accessibility.

Practice

(1/5)
1. Which CSS property is used to add an underline to text?
easy
A. text-transform
B. font-style
C. line-height
D. text-decoration

Solution

  1. Step 1: Identify the property for text lines

    The property text-decoration controls lines like underline, overline, and line-through on text.
  2. Step 2: Confirm the underline effect

    Using text-decoration: underline; adds an underline to the text.
  3. Final Answer:

    text-decoration -> Option D
  4. Quick Check:

    Underline = text-decoration [OK]
Hint: Underline text with text-decoration property [OK]
Common Mistakes:
  • Confusing font-style with underline
  • Using text-transform which changes case
  • Using line-height which controls spacing
2. Which of the following is the correct syntax to add a line-through effect to text in CSS?
easy
A. text-decoration: strike;
B. text-decoration: line-through;
C. text-decoration: crossed;
D. text-decoration: overline;

Solution

  1. Step 1: Recall valid text-decoration values

    The valid values for text-decoration include underline, overline, and line-through.
  2. Step 2: Match the line-through effect

    The correct value to cross out text is line-through. Other options like strike or crossed are invalid.
  3. Final Answer:

    text-decoration: line-through; -> Option B
  4. Quick Check:

    Line-through = line-through [OK]
Hint: Use line-through for strike effect in text-decoration [OK]
Common Mistakes:
  • Using invalid values like strike or crossed
  • Confusing overline with line-through
  • Missing the colon or semicolon in syntax
3. What will be the visual effect of this CSS on a paragraph?
p { text-decoration: underline overline; }
medium
A. The paragraph text will only have an overline.
B. The paragraph text will only have an underline.
C. The paragraph text will have both an underline and an overline.
D. The paragraph text will have no decoration.

Solution

  1. Step 1: Understand multiple values in text-decoration

    The text-decoration property can accept multiple values separated by spaces to combine effects.
  2. Step 2: Apply underline and overline together

    Using underline overline applies both lines above and below the text simultaneously.
  3. Final Answer:

    The paragraph text will have both an underline and an overline. -> Option C
  4. Quick Check:

    Multiple decorations combine = both lines [OK]
Hint: Multiple text-decoration values add multiple lines [OK]
Common Mistakes:
  • Assuming only the first value applies
  • Thinking values override each other
  • Confusing overline with underline
4. Identify the error in this CSS code snippet:
h1 { text-decoration: underlined; }
medium
A. The value 'underlined' is invalid for text-decoration.
B. The property name should be 'text-decoration-line'.
C. Missing semicolon after the value.
D. The selector 'h1' is incorrect.

Solution

  1. Step 1: Check valid values for text-decoration

    Valid values include underline, overline, line-through, but not underlined.
  2. Step 2: Confirm property and syntax correctness

    The property text-decoration is correct and semicolon is present. The selector h1 is valid.
  3. Final Answer:

    The value 'underlined' is invalid for text-decoration. -> Option A
  4. Quick Check:

    Valid values only = underline, overline, line-through [OK]
Hint: Use exact values: underline, not underlined [OK]
Common Mistakes:
  • Adding 'd' to underline value
  • Confusing property names
  • Ignoring semicolon errors
5. You want to style a link so it has a red underline only when hovered, and no decoration normally. Which CSS code achieves this?
hard
A. a { text-decoration: none; } a:hover { text-decoration: underline; text-decoration-color: red; }
B. a { text-decoration: underline red; } a:hover { text-decoration: none; }
C. a { text-decoration-color: red; } a:hover { text-decoration: none; }
D. a { text-decoration: underline; } a:hover { text-decoration-color: red; }

Solution

  1. Step 1: Set no decoration normally

    Use text-decoration: none; on the link to remove underline by default.
  2. Step 2: Add red underline on hover

    On a:hover, add text-decoration: underline; and set text-decoration-color: red; to color the underline red.
  3. Final Answer:

    a { text-decoration: none; } a:hover { text-decoration: underline; text-decoration-color: red; } -> Option A
  4. Quick Check:

    None normally + red underline on hover = a { text-decoration: none; } a:hover { text-decoration: underline; text-decoration-color: red; } [OK]
Hint: Use none normally, underline + color on hover [OK]
Common Mistakes:
  • Setting underline always, not only on hover
  • Using text-decoration-color without underline
  • Reversing hover and normal styles