Introducción al Índice Z
El `z-index` es una propiedad de CSS que controla el apilamiento de elementos. Específicamente, determina el orden de apilamiento de los elementos cuando se superponen, y se usa principalmente con elementos posicionados (como `position: absolute`, `position: relative`, `position: fixed`, o `position: sticky`).
<div style="position: relative; z-index: 1;">Elemento 1</div>
<div style="position: relative; z-index: 2;">Elemento 2</div>
<div style="position: relative; z-index: 3;">Elemento 3</div>
Ejemplos Visuales
Uso de la Propiedad `z-index`
Para usar `z-index`, simplemente se asigna un valor numérico a la propiedad. Los elementos con un valor de `z-index` mayor se apilan encima de aquellos con un valor menor. El valor predeterminado de `z-index` es `auto`, que coloca los elementos en el mismo nivel de apilamiento.
<div class="container my-4">
<div class="text-dark p-3 rounded" style="background-color: #0b890b;">
<h5 class="font-weight-bold" style="font-family: Georgia; font-size: 1.875rem;">
Ejemplos Visuales
</h5>
</div>
<br />
<div class="border border-success p-3 rounded" style="position: relative; height: 400px; width: 400px;">
<!-- Fondo de la imagen -->
<div style="position: absolute; z-index: 1; background-color: #f2f2f2; width: 100%; height: 100%;">
<!-- Fondo gris claro para ilustrar -->
</div>
<!-- Imagen más pequeña encima del fondo -->
<img src="https://via.placeholder.com/200" alt="Imagen 1" style="position: absolute; z-index: 2; top: 50px; left: 50px; width: 200px; height: 200px;">
<!-- Segunda imagen encima de la primera -->
<img src="https://via.placeholder.com/150" alt="Imagen 2" style="position: absolute; z-index: 3; top: 100px; left: 100px; width: 150px; height: 150px;">
</div>
</div>
Ejemplos Visuales: z-index
Contexto de Apilamiento
El contexto de apilamiento se refiere al área en la que los elementos con `z-index` son apilados. Cada contenedor que tenga un elemento con un `z-index` distinto de `auto` crea un nuevo contexto de apilamiento.
<div class="container">
<div class="text-dark p-3 rounded" style="background-color: #0b890b;">
<h5 class="font-weight-bold" style="font-family: Georgia; font-size: 1.875rem;">
Contexto de Apilamiento
</h5>
</div>
<br />
<div class="border border-success p-3 rounded" style="position: relative;">
<!-- Fondo de la imagen -->
<div style="position: absolute; z-index: 1; background-color: #f2f2f2; width: 100%; height: 100%;">
<!-- Fondo gris claro para ilustrar -->
</div>
<!-- Imagen más pequeña encima del fondo -->
<img src="https://via.placeholder.com/200" alt="Imagen 1" style="position: absolute; z-index: 2; top: 50px; left: 50px; width: 200px; height: 200px;">
<!-- Segunda imagen encima de la primera -->
<img src="https://via.placeholder.com/150" alt="Imagen 2" style="position: absolute; z-index: 3; top: 100px; left: 100px; width: 150px; height: 150px;">
</div>
</div>
Ejemplos Visuales
Ejemplo Práctico
A continuación, se muestra un ejemplo práctico de cómo se utiliza `z-index` para controlar el apilamiento de elementos:
<div style="position: absolute; z-index: 10; background-color: #ff5733; width: 100%; height: 100px; top: 0px;">
index-10
</div>
<div style="position: absolute; z-index: 5; background-color: #33b5ff; width: 100%; height: 100px; top: 70px;">
index-5
</div>
<div style="position: absolute; z-index: 20; background-color: #75ff33; width: 100%; height: 100px; top: 140px;">
index-20
</div>
Ejemplos Visuales
Problemas Comunes con `z-index`
Uno de los problemas más comunes al usar `z-index` es cuando los elementos no se apilan como se espera. Esto puede ocurrir si los elementos no tienen una propiedad de posicionamiento, o si se crean múltiples contextos de apilamiento que interfieren entre sí. Aquí hay un ejemplo de cómo esto podría suceder:
<div style="background-color: #ff5733; width: 100%; height: 100px; top: 0px; margin: 10px;">
Elemento 1 (sin `position`)
</div>
<div style="position: relative; background-color: #33b5ff; width: 100%; height: 100px; top: 70px; margin: 20px;">
Elemento 2 (sin `z-index`)
</div>
<div style="position: relative; z-index: 10; background-color: #75ff33; width: 100%; height: 100px; top: 140px; margin: 30px;">
Elemento 3 (con `z-index`)
</div>
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias