¿Qué es un contexto de apilamiento (stacking context) en CSS?

Entiende qué es un contexto de apilamiento en CSS: una unidad de elementos que se apilan juntos, aislando el comportamiento de z-index en su interior.

LucusHost, el mejor hosting

Un contexto de apilamiento (stacking context) en CSS es un concepto fundamental para entender cómo los elementos HTML se superponen unos a otros en el eje Z (es decir, su orden de profundidad visual en la pantalla, determinando cuál aparece encima de cuál).

Imagina un contexto de apilamiento como una unidad o grupo de elementos que se apilan juntos y se mueven como un todo en el orden de apilamiento general de la página.

Dentro de un contexto de apilamiento dado:

  • Los elementos hijos se apilan según sus propios valores de z-index y otras reglas de apilamiento (como el orden en el DOM), pero solo en relación con otros elementos dentro de ese mismo contexto de apilamiento.
  • El contexto de apilamiento completo se trata luego como una única capa o «lámina» que se apila en su contexto de apilamiento padre, según el z-index del elemento que creó este contexto hijo.

¿Cuándo se crea un nuevo contexto de apilamiento?

No todos los elementos crean un nuevo contexto de apilamiento. Se forma uno nuevo cuando un elemento cumple ciertas condiciones. Las más comunes son:

  • El elemento raíz del documento (<html>).
  • Un elemento con una propiedad position con valor absolute, relative, fixed o sticky y una propiedad z-index con un valor numérico (es decir, cualquier valor que no sea auto).
  • Un elemento que es un contenedor Flexbox y tiene un hijo con un z-index numérico.
  • Un elemento que es un contenedor Grid y tiene un hijo con un z-index numérico.
  • Un elemento con una propiedad opacity menor que 1.
  • Un elemento con una propiedad transform (distinta de none).
  • Un elemento con una propiedad filter (distinta de none).
  • Un elemento con una propiedad perspective (distinta de none).
  • Un elemento con will-change especificando alguna propiedad que cree un contexto de apilamiento.
  • Un elemento con contain: paint;, contain: layout;, contain: content; o contain: strict;.

¿Por qué es importante?

Los contextos de apilamiento son cruciales porque aíslan el comportamiento del z-index. Un elemento con un z-index muy alto dentro de un contexto de apilamiento A no necesariamente aparecerá por encima de un elemento con un z-index bajo que pertenezca a un contexto de apilamiento B, si el contexto A en su conjunto está apilado por debajo del contexto B.

En resumen, el z-index de un elemento solo tiene significado dentro de su contexto de apilamiento. Para que un elemento con un z-index alto se muestre por encima de otro, no solo su z-index debe ser mayor, sino que también el contexto de apilamiento al que pertenece debe estar en una posición superior o igual en la pila general en comparación con el contexto del otro elemento. Entender esto es vital para evitar sorpresas y gestionar la superposición de elementos de forma predecible en diseños complejos.

¿Tienes alguna duda o pregunta?Envía el formulario y procuraré darle respuesta
Formulario de pregunta
Responsable » Jose Ramón Bernabeu Guillem. Finalidad » Ponernos en contacto. Legitimación » Tu consentimiento al marcar la casilla verificación. Destinatarios » Los datos que proporciones estarán ubicados en los servidores de LucusHost, proveedor de hosting de este sitio. Derechos » por supuesto tendrás derecho, entre otros, a acceder, rectificar, limitar y suprimir tus datos.
Si creees que esto puede ser de utilidad a alguien más, pues... compártelo que es gratis 🙂
Sitio alojado en un servidor verde según The Green Web Foundation

LucusHost, el mejor hosting

Aviso legal | Condiciones de contratación | Política de privacidad | Política de cookies
© 2017-2025 · Jose R. Bernabeu ·
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram