CSS overflow-y
The CSS overflow-y property was introduced in CSS3 for the purposes of setting the clipping behavior for the top and bottom edges of an element. It determines what to do when a box's contents are too big (vertically) to fit inside.
The overflow-y property allows you to specify how the contents should be displayed in the event that it is too large for its outer container. In other words, the contents "overflow" on the "y" axis (i.e. the vertical axis). For example, you can specify that the outer container grows vertical scroll bars whenever the contents are too large to fit inside. Or you could specify that the contents should simply be hidden.
The overflow-y property is used for the vertical axis (i.e. the top and bottom edges). To determine overflow behavior for the horizontal axis (i.e. the left and right edges), use the overflow-x property.
Use the overflow shorthand property to set the overflow behavior for both the horizontal and vertical axes at once.
Syntax
Possible Values
visible- Specifies that the content should not be clipped. In other words, it should be displayed outside the content box.
hidden- Specifies that the content is clipped (i.e. the parts that extend beyond the content box are hidden), and no scroll bars (or other scrolling mechanism) are supplied.
clip- Like
hidden, this value indicates that the box's content is clipped to its padding box and that no scrolling user interface should be provided. In addition, unlikeoverflow-y: hiddenwhich still allows programmatic scrolling,overflow-y: clipforbids scrolling entirely, through any mechanism, and therefore the box is not a scroll container. scroll- Specifies that the content box should provide scroll bars (or other scrolling mechanism) regardless of whether the content is clipped or not.
auto- Specifies that the content box should provide scroll bars (or other scrolling mechanism) only when the content overflows (i.e. is too big to fit within the content box).
In addition, all CSS properties also accept the following CSS-wide keyword values as the sole component of their property value:
initial- Represents the value specified as the property's initial value.
inherit- Represents the computed value of the property on the element's parent.
unset- This value acts as either
inheritorinitial, depending on whether the property is inherited or not. In other words, it sets all properties to their parent value if they are inheritable or to their initial value if not inheritable.
Basic Property Information
- Initial Value
visible- Applies To
- Block containers, flex containers, and grid containers.
- Inherited?
- No
- Media
- Visual
Example Code
Basic CSS
Working Example within an HTML Document
CSS Specifications
Browser Support
Browser support for CSS properties can vary, particularly for newer or experimental features. Check current browser compatibility before using a property in production, especially when supporting older browsers.
The following table provided by Caniuse.com shows the level of browser support for this feature.
Initial Value
CSS properties have an initial value that applies when the property has not been explicitly set. The initial value is different from the value inherited from a parent element and may vary between properties.
Inheritance
Some CSS properties inherit their computed value from their parent element by default, while others do not. The inherit, initial, unset, and revert keywords can also be used to control how a property gets its value.
Vendor Prefixes
Most modern CSS properties use the standard, unprefixed syntax. Vendor-prefixed properties such as -webkit- are mainly relevant to older browser versions or specific features and should only be used when required by your browser support targets.