CSS z-index
CSS z-index
is a property that controls the stacking order of positioned elements on a web page. It specifies the z-axis position of an element, determining whether it appears in front of or behind other elements on the same stacking context.
The z-index
property is only applicable to elements that have a position
value other than static
. Commonly used position
values include relative
, absolute
, fixed
, and sticky
.
Here’s the syntax for the z-index
property:
z-index: value;
value
: Thez-index
value can be either a positive or negative integer, or the keywordauto
. Positive integers bring the element closer to the front, while negative integers push the element further back. Theauto
value is the default, and elements withz-index: auto
will follow their natural stacking order based on their position in the HTML document.
Higher z-index
values take precedence over lower values, meaning an element with z-index: 2
will be positioned in front of an element with z-index: 1
.
Example:
.first-element {
position: relative;
z-index: 2;
}
.second-element {
position: relative;
z-index: 1;
}
In this example, .first-element
will be stacked in front of .second-element
because it has a higher z-index
value.
Keep in mind the following considerations when using z-index
:
z-index
only affects elements within the same stacking context. Elements with different stacking contexts, such as those withposition: fixed
, will not be affected by thez-index
of other elements.- Children of an element with a specific
z-index
will inherit that value by default. You can explicitly set a differentz-index
for child elements to change their stacking order within the parent’s stacking context. - If two elements have the same
z-index
, the one that appears later in the HTML document will be stacked on top (later elements have a higher stacking order).
Using z-index
strategically can help you control the visual hierarchy of elements and control how they overlap and interact with each other on your web page. However, excessive use of high z-index
values can lead to complex and challenging-to-maintain stacking orders, so it’s essential to use it judiciously.