z index: Die ultimative Anleitung zur Steuerung der Elementüberlappung
Wenn du CSS ernst nimmst, musst du z index verstehen. Nicht als Theorie. Als Werkzeug. Denn sobald Elemente sich überlappen, entscheidet z-index darüber, was oben liegt, was klickbar ist und was im Chaos verschwindet.
Ich sehe immer wieder dieselben Fehler: ein Modal liegt hinter dem Header, ein Tooltip verschwindet im Container, ein Dropdown wird abgeschnitten. Das ist kein Zufall. Das ist fehlende Kontrolle über die Stapelreihenfolge.
Was ist z index und warum ist es wichtig?
z-index ist eine CSS-Eigenschaft, mit der ich festlege, welches Element vor einem anderen gerendert wird. Wichtig: Das funktioniert nur in bestimmten Kontexten. Du kannst nicht einfach überall eine Zahl draufwerfen und erwarten, dass alles passt.
Wenn Elemente sich überlappen, zählt die Reihenfolge in der sogenannten Stapelkontext-Hierarchie. Genau hier wird es interessant. Und genau hier machen die meisten Fehler.
z index verstehen: Die Basis, die du wirklich brauchst
Ich halte es einfach:
- Ein höherer z-index bedeutet nicht automatisch, dass ein Element überall oben liegt.
- z-index wirkt nur auf positionierte Elemente, also zum Beispiel mit
position: relative,absolute,fixedodersticky. - Der Stacking Context kann deine Werte begrenzen.
Das ist der Punkt, an dem viele aufhören zu testen und anfangen zu raten. Ich rate nicht. Ich prüfe den Kontext.
z index und Stapelkontext: Das eigentliche Spiel
Der wichtigste Fehler ist nicht der falsche Wert. Der wichtigste Fehler ist, den Stapelkontext zu ignorieren. Ein neues Stacking Context kann zum Beispiel entstehen durch:
positionmitz-indexopacitykleiner als 1transformfilterisolation: isolate
Wenn ein Eltern-Element einen eigenen Kontext erzeugt, kann sein Kind nicht einfach über alles hinaus stapeln. Das ist oft der Grund, warum dein Dropdown hinter allem verschwindet, obwohl du ihm einen riesigen z-index gibst.
z index in der Praxis: So steuere ich Überlappungen
Wenn ich Überlappungen kontrolliere, arbeite ich nach einem klaren Prinzip: erst Struktur, dann Zahlen. Nicht andersrum.
- Ich prüfe die Positionierung. Ohne positionierte Elemente bringt z-index nichts.
- Ich suche den nächsten Stack-Kontext. Oft liegt das Problem im Parent, nicht im Kind.
- Ich setze kleine, klare Werte. 1, 10, 100. Nicht 999999 ohne Grund.
- Ich trenne Ebenen logisch. Beispiel: Header, Navigation, Modal, Tooltip.
Das Ziel ist nicht, die höchste Zahl zu gewinnen. Das Ziel ist, ein System zu bauen, das stabil bleibt.
z index Werte: Welche Zahlen ich nutze
Es gibt keine magische Zahl. Aber ich nutze eine einfache Hierarchie:
- 0 bis 10 für normale UI-Elemente
- 100 bis 200 für Dropdowns, Popovers, Sticky-Elemente
- 1000+ für Overlays, Modals, Sidebars oder globale Layer
Wichtig: Ich behandle diese Werte wie ein internes System. Nicht jedes Projekt braucht 10.000 Ebenen. Meistens braucht es Ordnung.
z index Probleme lösen: Die häufigsten Fälle
1. Modal liegt hinter dem Header
Das passiert oft, wenn der Header einen eigenen Stack-Kontext hat. Ich löse das, indem ich das Modal in eine Ebene mit höherer Priorität setze oder es direkt im body platziere.
2. Dropdown wird abgeschnitten
Hier ist oft overflow: hidden im Spiel. z-index allein hilft dann nicht. Ich prüfe zuerst den Container und entferne die Ursache.
3. Tooltip verschwindet unter anderem Content
Oft steckt das Tooltip in einem Element mit transform oder opacity. Dann hilft nur: Kontext verstehen und das Element sinnvoll verschieben.
4. Ein Element ist nicht klickbar
Manchmal liegt ein unsichtbares Element darüber. Dann ist z-index nicht nur ein Design-Thema, sondern ein UX-Problem.
z index Tipps, die Zeit sparen
- Nutze DevTools. Prüfe die Ebenen direkt im Browser.
- Vermeide zufällige hohe Werte. Hohe Zahlen lösen keine Architekturprobleme.
- Definiere eine Layer-Skala im Team. Das spart Diskussionen und Bugs.
- Platziere Overlays möglichst außerhalb tiefer Container. Das macht das Stapeln berechenbar.
- Teste mit echten UI-Fällen. Nicht nur im leeren Layout.
z index und moderne CSS-Strukturen
Moderne Layouts mit Flexbox, Grid und komplexen Komponenten machen z-index nicht unwichtiger. Im Gegenteil. Je mehr UI-Schichten du hast, desto wichtiger wird eine saubere Strategie.
Wenn du tiefer einsteigen willst, sind diese offiziellen Ressourcen stark:
z index: Meine einfache Regel für sauberes UI
Ich mache es so: erst Layout, dann Stacking, dann Feinschliff. Wenn du sofort mit großen Zahlen arbeitest, baust du ein System, das irgendwann bricht. Wenn du den Kontext verstehst, kannst du Überlappungen gezielt steuern.
Das ist der echte Vorteil von z index: nicht mehr raten, sondern kontrollieren.
z index FAQ
Warum funktioniert z-index manchmal nicht?
Weil das Element nicht positioniert ist oder in einem anderen Stack-Kontext steckt.
Ist ein hoher z-index immer besser?
Nein. Er ist nur dann sinnvoll, wenn er in deiner Layer-Logik passt.
Was ist wichtiger: z-index oder HTML-Struktur?
Die Struktur. z-index ist nur das Werkzeug oben drauf.
Wie verhindere ich Chaos bei vielen Layern?
Mit einer klaren Skala, sauberen Komponenten und festen Regeln fürs Team.
Wenn du z index wirklich beherrschst, kontrollierst du nicht nur Überlappungen. Du kontrollierst die gesamte visuelle Hierarchie deiner Oberfläche. Genau darum geht es bei z index.