Bird
Raised Fist0
CSSmarkup~3 mins

Why Text decoration in CSS? - Purpose & Use Cases

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
The Big Idea

Discover how a simple line can make your text clearer and your website friendlier!

The Scenario

Imagine you want to underline some important words in a paragraph by manually adding underscores or dashes around them in your text.

The Problem

If you try to do this manually, it looks messy, is hard to update, and doesn't work well on different screen sizes or devices.

The Solution

CSS text decoration lets you easily add underlines, overlines, or line-throughs to text with simple code that works consistently everywhere.

Before vs After
Before
This is _important_ text.
After
p { text-decoration: underline; }
What It Enables

You can style text clearly and beautifully without changing the actual content, making your pages look professional and easy to read.

Real Life Example

On a website, links are often underlined automatically using text decoration, so users know what they can click.

Key Takeaways

Manual text styling is slow and unreliable.

Text decoration in CSS adds lines to text easily and cleanly.

This improves readability and user experience on websites.

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