Bird
Raised Fist0
CSSmarkup~5 mins

Line height 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

Line height controls the space between lines of text. It makes reading easier and the page look neat.

To make paragraphs easier to read by adding space between lines.
To adjust spacing in headings so they look balanced.
To fix text that looks too crowded or too spaced out.
To improve accessibility by increasing line spacing for people with reading difficulties.
To create a consistent look across different text blocks on a webpage.
Syntax
CSS
line-height: normal | number | length | percentage;

normal uses the browser's default spacing.

A number multiplies the font size to set line height (e.g., 1.5 means 1.5 times the font size).

Examples
Uses default spacing set by the browser.
CSS
line-height: normal;
Sets line height to 1.5 times the font size, adding more space between lines.
CSS
line-height: 1.5;
Sets line height to exactly 24 pixels, fixed spacing regardless of font size.
CSS
line-height: 24px;
Sets line height to 150% of the font size, similar to 1.5 but using percentage.
CSS
line-height: 150%;
Sample Program

This example shows three paragraphs with different line heights. You can see how the space between lines changes and affects readability.

CSS
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Line Height Example</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      margin: 2rem;
    }
    .normal {
      line-height: normal;
      background-color: #f0f8ff;
      padding: 1rem;
      margin-bottom: 1rem;
    }
    .one-point-five {
      line-height: 1.5;
      background-color: #e6ffe6;
      padding: 1rem;
      margin-bottom: 1rem;
    }
    .fixed {
      line-height: 2rem;
      background-color: #fff0f5;
      padding: 1rem;
    }
  </style>
</head>
<body>
  <section>
    <h1>Line Height Examples</h1>
    <article class="normal">
      <p>This paragraph uses <strong>normal</strong> line height. The space between lines is the browser default.</p>
    </article>
    <article class="one-point-five">
      <p>This paragraph uses a line height of <strong>1.5</strong>. The lines have more space, making it easier to read.</p>
    </article>
    <article class="fixed">
      <p>This paragraph uses a fixed line height of <strong>2rem</strong>. The space between lines is exactly 2 rem units.</p>
    </article>
  </section>
</body>
</html>
OutputSuccess
Important Notes

Using a number (like 1.5) is recommended because it scales with font size and keeps spacing consistent.

Fixed lengths (like 24px or 2rem) can cause text to look cramped or too spaced if font size changes.

Good line height improves reading comfort, especially on long paragraphs.

Summary

Line height controls vertical space between lines of text.

Use numbers like 1.5 for flexible, readable spacing.

Adjust line height to improve text clarity and page design.

Practice

(1/5)
1. What does the CSS property line-height control in a webpage?
easy
A. The vertical space between lines of text
B. The color of the text
C. The font size of the text
D. The horizontal space between words

Solution

  1. Step 1: Understand the property purpose

    The line-height property sets the amount of vertical space between lines of text in a block.
  2. Step 2: Compare options to definition

    Only The vertical space between lines of text correctly describes vertical spacing between lines, others describe unrelated text styles.
  3. Final Answer:

    The vertical space between lines of text -> Option A
  4. Quick Check:

    Line height = vertical spacing [OK]
Hint: Line height = space vertically between text lines [OK]
Common Mistakes:
  • Confusing line height with font size
  • Thinking it controls text color
  • Mixing it up with letter spacing
2. Which of the following is the correct syntax to set line height to 1.5 in CSS?
easy
A. lineheight = 1.5;
B. line-height: 1.5;
C. line-height = 1.5px;
D. lineHeight: 1.5;

Solution

  1. Step 1: Recall CSS property syntax

    CSS properties use hyphenated names and colon to assign values, ending with semicolon.
  2. Step 2: Check each option

    line-height: 1.5; uses correct CSS syntax: line-height: 1.5;. Options B and C use incorrect assignment or units, D uses camelCase which is invalid in CSS.
  3. Final Answer:

    line-height: 1.5; -> Option B
  4. Quick Check:

    CSS property syntax = property: value; [OK]
Hint: CSS uses hyphen and colon, no equals sign [OK]
Common Mistakes:
  • Using equals sign instead of colon
  • Adding units like px to unitless line height
  • Using camelCase instead of hyphen
3. Given this CSS:
p { font-size: 16px; line-height: 2; }

What is the computed line height in pixels for the paragraph text?
medium
A. 16px
B. 2px
C. 32px
D. 8px

Solution

  1. Step 1: Understand line-height as a multiplier

    When line-height is a number (like 2), it multiplies the font size to get the line height in pixels.
  2. Step 2: Calculate line height

    Font size is 16px, line-height is 2, so 16px x 2 = 32px.
  3. Final Answer:

    32px -> Option C
  4. Quick Check:

    Line height = font size x number [OK]
Hint: Multiply font size by line-height number [OK]
Common Mistakes:
  • Confusing line-height number as pixels directly
  • Using line-height value as font size
  • Ignoring multiplication and picking wrong units
4. This CSS code is intended to increase line spacing but does not work as expected:
p { line-height: 20; }

What is the error?
medium
A. Missing units like 'px' for line-height value
B. line-height cannot be set on paragraphs
C. line-height value must be less than 1
D. line-height property name is misspelled

Solution

  1. Step 1: Check line-height value type

    The value 20 without units is treated as a multiplier, but 20 is unusually large and likely intended as pixels.
  2. Step 2: Identify missing units

    To specify exact pixel spacing, units like 'px' are required: line-height: 20px;. Without units, 20 means 20 times font size, which is huge and may cause unexpected layout.
  3. Final Answer:

    Missing units like 'px' for line-height value -> Option A
  4. Quick Check:

    Units needed for absolute line height values [OK]
Hint: Add units like px for fixed line height values [OK]
Common Mistakes:
  • Using large numbers without units expecting pixels
  • Thinking line-height can't be set on paragraphs
  • Misspelling property name
5. You want to create a responsive paragraph where line height adjusts nicely with font size for readability. Which CSS rule achieves this best?
hard
A. p { font-size: 16px; line-height: 1.5rem; }
B. p { font-size: 16px; line-height: 24px; }
C. p { font-size: 1.2rem; line-height: 24px; }
D. p { font-size: 1.2rem; line-height: 1.5; }

Solution

  1. Step 1: Understand responsive units

    Using rem units for font size scales text with root font size, good for responsiveness.
  2. Step 2: Use unitless line-height for flexibility

    Setting line-height: 1.5; as a number scales line height relative to font size, adapting well on different devices.
  3. Step 3: Compare options

    p { font-size: 1.2rem; line-height: 1.5; } uses rem for font size and unitless line-height, making it flexible. Options B and C fix line height in pixels, less flexible. p { font-size: 16px; line-height: 1.5rem; } mixes units incorrectly.
  4. Final Answer:

    p { font-size: 1.2rem; line-height: 1.5; } -> Option D
  5. Quick Check:

    Unitless line-height + rem font size = responsive text [OK]
Hint: Use unitless line-height with rem font size for responsiveness [OK]
Common Mistakes:
  • Using fixed pixel line height with scalable font size
  • Mixing units in line-height property
  • Not using unitless line-height for flexible spacing