Ce face z-index
Când două sau mai multe elemente poziționate se suprapun pe ecran, z-index decide care dintre ele este desenat deasupra celorlalte.
Elementul cu cel mai mare z-index stă în prim-plan. Valoarea poate fi un număr pozitiv, zero sau negativ.
Regulă esențială: z-index funcționează doar pe elemente poziționate (cele care au position: relative, absolute, fixed sau sticky) sau pe copiii direcți ai unui container flex ori grid.
Valori uzuale
| Valoare | Descriere |
|---|---|
număr întreg |
Valoarea pe axa Z (ex. 1, 10, 1000). |
auto |
Implicit: elementul moștenește ordinea din flux. |
Exemple
Exemplul 1: Meniu fixat care rămâne întotdeauna deasupra conținutului la scroll
z-index: 100 împiedică articolele sau imaginile să treacă peste meniu.
header.meniu-fix {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 60px;
background: white;
z-index: 100;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
Efect vizual în browser
Meniul alb rămâne fixat în partea de sus a ecranului, plutind garantat peste orice alt text sau imagine la derulare.
Greșeli frecvente
- Punerea z-index: 99999 pe un element cu position: static; fără position setat, z-index este complet ignorat.
- „Războiul z-index”: creșterea haotică a numerelor la 99999999 în loc de o scară organizată (ex. nivel 10 = dropdown, 50 = meniu fix, 100 = modal).
- Ignorarea contextelor de stivuire (stacking context): un copil cu z-index: 9999 aflat într-un părinte cu z-index: 1 nu va putea trece niciodată deasupra unui vecin cu z-index: 2.
Comenzi înrudite
position (relative, absolute, fixed, sticky): Definește metoda de poziționare a elementului pe ecran, permițând mutarea lui cu top, right, bottom, left.top, right, bottom, left și inset: Stabilesc distanțele de deplasare pentru elementele care au position setat pe relative, absolute, fixed sau sticky.