CSS Layout - Overflow
The CSS overflow
property controls what happens to content that is too big to fit into an area.
This text is really long and the height of its container is only 100 pixels. Therefore, a scrollbar is added to help the reader to scroll the content. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem.
CSS Overflow
The overflow
property specifies whether to clip the content or to add scrollbars when the content of an element is too big to fit in the specified area.
The overflow
property has the following values:
visible
- Default. The overflow is not clipped. The content renders outside the element's boxhidden
- The overflow is clipped, and the rest of the content will be invisiblescroll
- The overflow is clipped, and a scrollbar is added to see the rest of the contentauto
- Similar toscroll
, but it adds scrollbars only when necessary
Note: The overflow
property only works for block elements with a specified height.
Note: In OS X Lion (on Mac), scrollbars are hidden by default and only shown when being used (even though "overflow:scroll" is set).
overflow: visible
By default, the overflow is visible
, meaning that it is not clipped and it renders outside the element's box:
You can use the overflow property when you want to have better control of the layout. The overflow property specifies what happens if content overflows an element's box.
Example
div { width: 200px; height: 65px; background-color: coral; overflow: visible; }
overflow: hidden
With the hidden
value, the overflow is clipped, and the rest of the content is hidden:
Example
div { overflow: hidden; }
overflow: scroll
Setting the value to scroll
, the overflow is clipped and a scrollbar is added to scroll inside the box. Note that this will add a scrollbar both horizontally and vertically (even if you do not need it):
You can use the overflow property when you want to have better control of the layout. The overflow property specifies what happens if content overflows an element's box.
Example
div { overflow: scroll; }
overflow: auto
The auto
value is similar to scroll
, but it adds scrollbars only when necessary:
You can use the overflow property when you want to have better control of the layout. The overflow property specifies what happens if content overflows an element's box.
Example
div { overflow: auto; }
overflow-x and overflow-y
The overflow-x
and overflow-y
properties specifies whether to change the overflow of content just horizontally or vertically (or both):
overflow-x
specifies what to do with the left/right edges of the content.
overflow-y
specifies what to do with the top/bottom edges of the content.
Example
div { overflow-x: hidden; /* Hide horizontal scrollbar */ overflow-y: scroll; /* Add vertical scrollbar */ }
All CSS Overflow Properties
Property | Description |
---|---|
overflow | Specifies what happens if content overflows an element's box |
overflow-wrap | Specifies whether or not the browser can break lines with long words, if they overflow its container |
overflow-x | Specifies what to do with the left/right edges of the content if it overflows the element's content area |
overflow-y | Specifies what to do with the top/bottom edges of the content if it overflows the element's content area |