CSS z-index
The CSS z-index property is used to layer elements in front or behind each other along a "z-axis".
This is referred to as the 'stack level'. By using the z-index property, we can specify the stack level of a box in within its current stacking context.
Generally speaking, you can position an element in front of another by giving it a higher z-index.
For example, an element with a z-index of 200 will render in front of an element with a z-index of 100 (or even 199 for that matter). And likewise, an element of 100 will render in front of an element of say 50 (or even 99).
The z-index property applies to positioned elements, as well as flex items and grid items.
Syntax
Possible Values
auto- Specifies that the stack level of the generated box in the current stacking context is
0. The box does not establish a new stacking context unless it is the root element. - integer
- Specifies the stack level of the generated box in the current stacking context. The box also establishes a new stacking context.
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.
General Information
- Initial Value
auto- Applies To
- Positioned elements, flex items, and grid items
- Inherited?
- No
- Media
- Visual
- Animatable
- Yes (see example)
Example Code
Official Specifications
- Cascading Style Sheets (CSS) Level 2 (CSS 2.2) (W3C Editor's Draft)
- CSS Level 2.1 (W3C Recommendation 07 June 2011)
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.
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.