Propiedad Z-Index
El z-index gestiona el orden de apilamiento de los elementos en una página web. Aunque solemos ver las webs como superficies planas (ejes X e Y), en realidad tienen una tercera dimensión: el Eje Z (profundidad).
🔳 Propiedad Z-Index
El z-index gestiona el orden de apilamiento de los elementos en una página web. Aunque solemos ver las webs como superficies planas (ejes X e Y), en realidad tienen una tercera dimensión: el Eje Z (profundidad).
🔝 Orden de Apilamiento Natural
Por defecto, los elementos se apilan según su orden en el HTML (el DOM):
- Los elementos que aparecen primero en el código quedan "debajo".
- Los elementos que aparecen al final se renderizan "encima" de los anteriores.
🛠️ ¿Cómo funciona Z-Index?
El valor de z-index es un número entero. A mayor número, más "cerca" del usuario aparecerá el elemento.
.capa-fondo { z-index: 1; }
.capa-medio { z-index: 10; }
.capa-frente { z-index: 100; }[!IMPORTANT] El gran requisito:
z-indexSOLO funciona en elementos que tengan una propiedadpositiondistinta astatic(es decir:relative,absolute,fixedosticky).
¿Por qué mi z-index no funciona?
Si le pones z-index: 9999 a un elemento y sigue apareciendo detrás de otros, lo más probable es que:
- Su posición sea
static(la que viene por defecto). - Esté en un Contexto de Apilamiento diferente.
🏗️ Contexto de Apilamiento (Stacking Context)
No todos los z-index de la página compiten entre sí. Imagina que el z-index son los pisos de un edificio:
- El edificio A tiene 10 pisos.
- El edificio B tiene 10 pisos.
- Una persona en el piso 10 del Edificio A no está más alta que alguien en el piso 1 del Edificio B si el Edificio B está construido sobre una montaña.
En CSS, ciertos elementos crean un "edificio" nuevo (Contexto de Apilamiento). Un hijo con z-index: 9999 nunca podrá estar por encima de un vecino si su padre tiene un z-index: 1 y el vecino tiene un z-index: 2.
¿Qué crea un contexto de apilamiento?
- Elementos con
positionno estática y unz-indexdistinto deauto. - Elementos con
opacitymenor a 1. - Elementos con
transform,filteroflex/gridcontainers.
💡 Buenas Prácticas
- No uses 9999: Mantén valores controlables. Una buena escala es usar saltos de 10 en 10 (10, 20, 30) para poder insertar elementos en medio si es necesario.
- Gestiona prioridades:
- Fondos/Decoraciones: 1-10.
- Componentes normales: 10-50.
- Navegación/Modales: 100+.
- Usa variables: Define tus niveles de profundidad en variables CSS para mantener la coherencia.
:root { --z-modal: 1000; --z-tooltip: 2000; }
[!TIP] Si necesitas que el
z-indexfuncione sin mover el elemento de su sitio, simplemente aplícaleposition: relative;sin mover sus coordenadastopoleft. Esto activará la propiedad sin alterar el diseño.
Propiedad Overflow (desbordamiento)
El overflow ocurre cuando el contenido de un elemento es más grande que el contenedor que lo aloja.
Propiedades de control de texto
Las propiedades de control de texto en CSS permiten ajustar el espaciado, la alineación y el comportamiento de los saltos de línea en el texto.