What is the CSS `overflow` property and its values?
Jul 19, 2025 am 02:20 AMThe CSS overflow property controls how content behaves when it exceeds an element's box. 1. overflow: visible shows all content, even if it overflows. 2. overflow: hidden clips overflowing content and hides it. 3. overflow: scroll adds scrollbars to handle overflow, regardless of content size. 4. overflow: auto displays scrollbars only when necessary. Directional control can be achieved with overflow-x and overflow-y for horizontal and vertical scrolling, making overflow a powerful tool for managing layout behavior across different scenarios.
The CSS overflow
property controls what happens when content overflows an element's box. It’s super useful when dealing with containers that might have more content than space allows — like long text in a fixed-size div or a dropdown menu.

Here’s a breakdown of the most common values and how they work in practice.
1. overflow: visible
(default behavior)
This is the default setting. If your content is too big for the container, it just spills out and remains visible. No clipping, no scrollbars — just let it all show.

Use case: You don’t need to hide or constrain anything. Just display everything as it is.
.container { overflow: visible; }
Note: This can cause layout issues if not handled carefully, especially on smaller screens.
2. overflow: hidden
When you set this, anything that doesn’t fit inside the container gets clipped — users won’t see it at all. No scrollbars appear either.
Use case: Great for hiding extra content intentionally, like tooltips or image cropping effects.
.crop-image { width: 200px; height: 200px; overflow: hidden; }
You’ll often use this to create clean layouts where overflow isn’t needed or should be controlled by other means.
3. overflow: scroll
This forces scrollbars to appear always, even if the content fits perfectly. The browser adds horizontal and vertical scrollbars regardless.
Use case: Useful when you want consistent scrolling behavior — for example, in a chat window or comment section where content is dynamic.
.chat-box { height: 300px; overflow: scroll; }
Some browsers (like macOS Safari) only show scrollbars when needed, even with
scroll
, so appearance can vary slightly.
4. overflow: auto
Similar to scroll
, but the browser decides when to show scrollbars — only when content actually overflows.
Use case: Probably the most commonly used value. It keeps things clean and only shows scrollbars when necessary.
.comment-section { max-height: 200px; overflow: auto; }
- Good for dynamic content.
- Keeps layout tidy without unnecessary scrollbars.
Bonus: Directional control with overflow-x
and overflow-y
You can also control overflow separately for horizontal and vertical directions.
For example:
.table-container { overflow-x: auto; /* Only allow horizontal scrolling */ overflow-y: hidden; /* Never show vertical scrollbar */ }
Useful for wide tables or horizontally scrollable cards.
That’s basically it. Overflow gives you fine control over how content behaves within a box. Pick the right one based on whether you want to hide, scroll, or let it flow.
The above is the detailed content of What is the CSS `overflow` property and its values?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Thevertical-alignpropertyinCSSalignsinlineortable-cellelementsvertically.1.Itadjustselementslikeimagesorforminputswithintextlinesusingvalueslikebaseline,middle,super,andsub.2.Intablecells,itcontrolscontentalignmentwithtop,middle,orbottomvalues,oftenu

accent-color is an attribute used in CSS to customize the highlight colors of form elements such as checkboxes, radio buttons and sliders; 1. It directly changes the default color of the selected state of the form control, such as changing the blue check mark of the checkbox to red; 2. Supported elements include input boxes of type="checkbox", type="radio" and type="range"; 3. Using accent-color can avoid complex custom styles and extra DOM structures, and maintain native accessibility; 4. It is generally supported by modern browsers, and old browsers need to be downgraded; 5. Set accent-col

InstallDartSassvianpmafterinstallingNode.jsusingnpminstall-gsass.2.CompileSCSStoCSSusingthecommandsassinput.scssoutput.css.3.Usesass--watchinput.scssoutput.csstoauto-compileonsave.4.Watchentirefolderswithsass--watchscss:css.5.Usepartialswith_prefixfo

To change the text color in CSS, you need to use the color attribute; 1. Use the color attribute to set the text foreground color, supporting color names (such as red), hexadecimal codes (such as #ff0000), RGB values (such as rgb(255,0,0)), HSL values (such as hsl(0,100%,50%)), and RGBA or HSLA with transparency (such as rgba(255,0,0,0.5)); 2. You can apply colors to any element containing text, such as h1 to h6 titles, paragraph p, link a (note the color settings of different states of a:link, a:visited, a:hover, a:active), buttons, div, span, etc.; 3. Most

CSStransitionsenablesmoothpropertychangeswithminimalcode,idealforhovereffectsandinteractivefeedback.1.Usethesyntaxtransition:propertydurationtiming-functiondelay;todefinetransitions,liketransition:background-color0.3sease0.1s;.2.Specifytransition-pro

UseautomatedtoolslikePurgeCSSorUnCSStoscanandremoveunusedCSS;2.IntegratepurgingintoyourbuildprocessviaWebpack,Vite,orTailwind’scontentconfiguration;3.AuditCSSusagewithChromeDevToolsCoveragetabbeforepurgingtoavoidremovingneededstyles;4.Safelistdynamic

The style placement method needs to be selected according to the scene. 1. Inline is suitable for temporary modification of single elements or dynamic JS control, such as the button color changes with operation; 2. Internal CSS is suitable for projects with few pages and simple structure, which is convenient for centralized management of styles, such as basic style settings of login pages; 3. Priority is given to reuse, maintenance and performance, and it is better to split external link CSS files for large projects.

Astackingcontextisaself-containedlayerinCSSthatcontrolsthez-orderofoverlappingelements,wherenestedcontextsrestrictz-indexinteractions;itiscreatedbypropertieslikez-indexonpositionedelements,opacity
