Bird
Raised Fist0
CSSmarkup~8 mins

Hidden, scroll, auto in CSS - Performance & Optimization

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
Performance: Hidden, scroll, auto
MEDIUM IMPACT
These CSS overflow properties affect how content overflow is handled, impacting layout stability and rendering performance.
Handling overflow content in a container
CSS
div {
  overflow: scroll;
  height: 200px;
}
Using overflow: scroll always shows scrollbars, preventing layout shifts caused by scrollbar appearance changes.
📈 Performance Gainavoids layout shifts, reduces reflows related to scrollbar toggling
Handling overflow content in a container
CSS
div {
  overflow: auto;
  height: 200px;
}
Using overflow: auto can cause layout shifts when scrollbars appear or disappear dynamically, leading to CLS issues.
📉 Performance Costtriggers layout recalculation and repaint when scrollbar toggles
Performance Comparison
PatternDOM OperationsReflowsPaint CostVerdict
overflow: autoMinimal DOM changesReflow triggered when scrollbar appears/disappearsMedium paint cost due to scrollbar rendering[!] OK
overflow: scrollMinimal DOM changesSingle reflow on initial layoutConsistent paint cost, no layout shifts[OK] Good
overflow: hiddenMinimal DOM changesNo reflows from scrollbar changesLower paint cost by clipping overflow[OK] Good
overflow: visibleMinimal DOM changesNo scrollbar reflows but possible layout shiftsHigher paint cost due to overflow content[X] Bad
Rendering Pipeline
Overflow properties affect the Layout and Paint stages by controlling how content outside container bounds is handled and whether scrollbars are rendered.
Layout
Paint
Composite
⚠️ BottleneckLayout
Core Web Vital Affected
CLS
These CSS overflow properties affect how content overflow is handled, impacting layout stability and rendering performance.
Optimization Tips
1Use overflow: scroll to avoid layout shifts caused by scrollbar toggling.
2Use overflow: hidden to clip content and reduce paint cost.
3Avoid overflow: auto if dynamic scrollbar appearance causes layout instability.
Performance Quiz - 3 Questions
Test your performance knowledge
Which overflow property setting helps prevent layout shifts caused by scrollbar appearance?
Aoverflow: visible
Boverflow: auto
Coverflow: scroll
Doverflow: hidden
DevTools: Performance
How to check: Record a performance profile while interacting with the container that has overflow styles. Look for layout and paint events triggered when scrollbars appear or content changes.
What to look for: Look for layout recalculations and paint events that coincide with scrollbar toggling or content overflow changes indicating performance impact.

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