Bird
Raised Fist0
CSSmarkup~5 mins

Hidden, scroll, auto 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

These CSS values control how extra content inside a box is shown. They help keep your page neat and easy to use.

When you want to hide extra content that doesn't fit in a box.
When you want to let users scroll to see hidden content.
When you want the browser to decide if scrolling is needed or not.
When you want to avoid content spilling outside its container.
When you want to create a clean, scrollable area on your page.
Syntax
CSS
overflow: hidden | scroll | auto;

hidden hides extra content without scrollbars.

scroll always shows scrollbars, even if not needed.

auto shows scrollbars only if content is too big.

Examples
Extra content is hidden and no scrollbars appear.
CSS
overflow: hidden;
Scrollbars always show, letting users scroll even if not needed.
CSS
overflow: scroll;
Scrollbars appear only if content is bigger than the box.
CSS
overflow: auto;
Sample Program

This page shows three boxes with the same content but different overflow settings. You can try to scroll inside each box or use keyboard focus (Tab key) to see how scrollbars behave.

CSS
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Overflow Example</title>
<style>
  .box {
    width: 15rem;
    height: 7rem;
    border: 2px solid #333;
    margin: 1rem;
    padding: 0.5rem;
    font-family: Arial, sans-serif;
    font-size: 1rem;
  }
  .hidden {
    overflow: hidden;
    background-color: #f8d7da;
  }
  .scroll {
    overflow: scroll;
    background-color: #d1ecf1;
  }
  .auto {
    overflow: auto;
    background-color: #d4edda;
  }
</style>
</head>
<body>
  <h1>Overflow: hidden, scroll, auto</h1>
  <section>
    <article class="box hidden" tabindex="0" aria-label="Box with overflow hidden">
      <strong>Hidden:</strong> Extra text is cut off and no scrollbars appear. Try to scroll here.
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    </article>
    <article class="box scroll" tabindex="0" aria-label="Box with overflow scroll">
      <strong>Scroll:</strong> Scrollbars always show, even if not needed.
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    </article>
    <article class="box auto" tabindex="0" aria-label="Box with overflow auto">
      <strong>Auto:</strong> Scrollbars appear only if content is too big.
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    </article>
  </section>
</body>
</html>
OutputSuccess
Important Notes

Use tabindex="0" on scrollable boxes to allow keyboard users to focus and scroll them.

Scrollbars look different on each operating system and browser.

For horizontal and vertical control separately, use overflow-x and overflow-y.

Summary

hidden hides extra content with no scrollbars.

scroll always shows scrollbars.

auto shows scrollbars only when needed.

Practice

(1/5)
1. What does the CSS property overflow: hidden; do to extra content that doesn't fit in a container?
easy
A. It always shows scrollbars to access extra content.
B. It enlarges the container to fit all content.
C. It shows scrollbars only if the content overflows.
D. It hides the extra content without showing scrollbars.

Solution

  1. Step 1: Understand overflow: hidden; behavior

    This property hides any content that goes beyond the container's size without showing scrollbars.
  2. Step 2: Compare with other overflow values

    Unlike scroll or auto, it does not provide any way to scroll to hidden content.
  3. Final Answer:

    It hides the extra content without showing scrollbars. -> Option D
  4. Quick Check:

    hidden hides overflow [OK]
Hint: Hidden means no scrollbars, just cut off content [OK]
Common Mistakes:
  • Thinking hidden shows scrollbars
  • Confusing hidden with auto
  • Assuming content resizes container
2. Which of the following is the correct CSS syntax to always show scrollbars on overflow?
easy
A. overflow: auto;
B. overflow: scroll;
C. overflow: hidden;
D. overflow: visible;

Solution

  1. Step 1: Recall CSS overflow values

    scroll always shows scrollbars regardless of content size.
  2. Step 2: Verify syntax correctness

    The syntax overflow: scroll; is valid and forces scrollbars.
  3. Final Answer:

    overflow: scroll; -> Option B
  4. Quick Check:

    scroll always shows scrollbars [OK]
Hint: Scroll means scrollbars always visible [OK]
Common Mistakes:
  • Using auto instead of scroll
  • Confusing hidden with scroll
  • Writing invalid property names
3. Given this CSS and HTML:
div {
  width: 100px;
  height: 100px;
  overflow: auto;
  border: 1px solid black;
}
This is a very long text that will overflow the box and may require scrolling.

What will the user see in the browser?
medium
A. No scrollbars, content is cut off.
B. Scrollbars always visible even if not needed.
C. Scrollbars appear only if content overflows.
D. Content expands container size to fit all text.

Solution

  1. Step 1: Understand overflow: auto; behavior

    This value shows scrollbars only when content is bigger than the container.
  2. Step 2: Analyze the content size

    The text is longer than 100px width and height, so scrollbars will appear.
  3. Final Answer:

    Scrollbars appear only if content overflows. -> Option C
  4. Quick Check:

    auto shows scrollbars if needed [OK]
Hint: Auto means scrollbars only if content is too big [OK]
Common Mistakes:
  • Thinking auto always shows scrollbars
  • Assuming content resizes container
  • Confusing auto with hidden
4. You want to hide overflow content but accidentally wrote overflow: auto hidden; in your CSS. What will happen?
medium
A. The first value auto sets horizontal overflow, hidden sets vertical overflow.
B. The browser will ignore the entire overflow property.
C. The browser will show scrollbars always.
D. The CSS will cause a syntax error and not apply.

Solution

  1. Step 1: Understand CSS overflow shorthand

    overflow can take one or two values: first for horizontal, second for vertical overflow.
  2. Step 2: Analyze two-value syntax

    auto hidden is valid shorthand: horizontal = auto, vertical = hidden.
  3. Final Answer:

    The first value auto sets horizontal overflow, hidden sets vertical overflow. -> Option A
  4. Quick Check:

    Two-value overflow sets horizontal and vertical separately [OK]
Hint: Two values set horizontal and vertical overflow separately [OK]
Common Mistakes:
  • Thinking invalid syntax causes error
  • Assuming both values apply as one
  • Ignoring two-value overflow shorthand
5. You have a container with fixed width and height. You want to ensure that if content overflows horizontally, a scrollbar appears, but vertically overflow content is hidden without scrollbars. Which CSS is correct?
hard
A. overflow-x: scroll; overflow-y: hidden;
B. overflow-x: hidden; overflow-y: scroll;
C. overflow: scroll;
D. overflow: auto;

Solution

  1. Step 1: Identify horizontal and vertical overflow needs

    Horizontal overflow needs scrollbars, vertical overflow should hide content.
  2. Step 2: Use directional overflow properties

    overflow-x: scroll; forces horizontal scrollbars, overflow-y: hidden; hides vertical overflow.
  3. Step 3: Check other options

    overflow: scroll; shows scrollbars both directions; overflow: auto; shows scrollbars only if needed both directions; overflow-x: hidden; overflow-y: scroll; reverses the requirement.
  4. Final Answer:

    overflow-x: scroll; overflow-y: hidden; -> Option A
  5. Quick Check:

    Directional overflow controls scrollbars separately [OK]
Hint: Use overflow-x and overflow-y for separate scroll control [OK]
Common Mistakes:
  • Using single overflow property for different directions
  • Confusing scroll and auto
  • Forgetting to hide vertical overflow