Aller au contenu principal

Le site sera en maintenance le 19/04/2026 entre 09h30 et 12h00.

Aller au contenu principal
Apprend et maîtrise le CSS
3 min de lecture
0 commentaires
Gratuit

Quand z-index "ne marche pas", le problème vient souvent du stacking context.

Ce qu'il faut savoir

z-index compare les éléments à l'intérieur d'un même contexte d'empilement. Si deux éléments sont dans des contextes différents, la comparaison n'est pas directe.

Ce qui crée un nouveau contexte (cas fréquents)

  • un élément positionné avec z-index
  • opacity inférieure à 1
  • transform
  • filter
  • isolation: isolate

Exemple

.modal {
  position: fixed;
  z-index: 1000;
}

.header {
  position: sticky;
  z-index: 10;
}

Si un parent de .modal crée un contexte limité, la modal peut passer derrière d'autres couches malgré un grand z-index.

Méthode de debug

  • inspecte les parents dans les DevTools
  • vérifie position, transform, opacity, filter
  • simplifie les couches globales (header, overlay, modal)
  • définis une échelle de z-index (ex: 10, 100, 1000)

A retenir

z-index n'est pas absolu. Il dépend du contexte d'empilement. Comprendre cette règle évite des heures de debug.

Mini pratique

Crée une sidebar fixe, un header sticky et une modal. Fais volontairement un conflit de couches, puis corrige-le proprement.

Erreurs fréquentes

  • appliquer des valeurs sans vérifier l'impact sur mobile
  • surcharger la feuille de style au lieu de simplifier les sélecteurs
  • corriger un symptôme visuel sans comprendre la cause (cascade, flux ou dimensions)

Checklist rapide

  • la règle est-elle lisible et cohérente avec le reste du module ?
  • le rendu reste-t-il correct sur petit écran ?
  • la solution est-elle maintenable sans !important ?

Mini défi

Reprends l'exemple de cette leçon, retire une règle inutile, et conserve exactement le même rendu visuel.

Commentaires (0)

Laisser un commentaire

Aucun commentaire pour le moment. Soyez le premier à commenter !