La Escuela del Programador

 

Capas CSS con Z-Index

CSS funciona sobre tres dimensiones: alto, ancho y profundidad. La profundidad hace referencia al orden en que los elementos se superponen unos con respecto a otros. Para tal propósito, se puede asignar a cada elemento un número por medio de la propiedad z-index. Esto funciona haciendo que el elemento con un número mayor se superponga al elemento con un número menor. Supongamos que estamos jugando al póquer y tenemos una escalera de color. La mano se puede presentar de tal manera que cada carta tiene un número asignado por medio de z-index, como se ve en la Figura 1:

Una mano de póquer presenta una escalera mostrando las cartas en orden una arriba de la otra.
Figura 1 - Una mano de póquer presenta una escalera mostrando las cartas en
orden una arriba de la otra.

Cómo hacer una página que muestre las cartas como en la figura 1

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Capas CSS con la propiedad z-index</title>
        <style>
            #diez_de_diamantes {
                position: absolute;
                left: 100px;
                top: 100px;
                z-index: 1;
            }
            #sota_de_diamantes {
                position: absolute;
                left: 115px;
                top: 115px;
                z-index: 2;
            }
            #reina_de_diamantes {
                position: absolute;
                left: 130px;
                top: 130px;
                z-index: 3;
            }
            #rey_de_diamantes {
                position: absolute;
                left: 145px;
                top: 145px;
                z-index: 4;
            }
            #as_de_diamantes {
                position: absolute;
                left: 160px;
                top: 160px;
                z-index: 5;
            }
        </style>
    </head>
    <body>
        <h1>Escalera de color</h1>
        <div id="diez_de_diamantes">
            <img src="diamonds_10.gif" alt="diez de diamantes">
        </div>
        <div id="sota_de_diamantes">
            <img src="diamonds_jack.gif" alt="sota de diamantes">
         </div>
        <div id="reina_de_diammantes">
            <img src="diamonds_queen.gif" alt="reina de diamantes">
        </div>
        <div id="rey_de_diamamantes">
            <img src="diamonds_king.gif" alt="rey de diamantes">
        </div>
        <div id="ace_of_diamonds">
            <img src="diamonds_ace.gif" alt="as de diamantes">
        </div>	 
    </body>
</html>
El html de arriba se muestra así al cargarlo en un web browser, mostrando las capas CSS, definidas con la propiedad z-index.
Figura 2 - El html de arriba se muestra así al cargarlo en un web browser,
mostrando las capas CSS, definidas con la propiedad z-index.

Como se ve en la Figura 2, se ha logrado el efecto que buscábamos con la ultilización de CSS. Hemos usado 4 propiedades de estilo para lograr nuestro cometido:

  1. position:absolute;:Este es uno de los 4 valores posibles de esta propiedad.Posiciona el elemento con relacion a su contenedor. Para mayor información sobre cómo posicionar elementos con CSS, vea el artículo Posicionamiento con CSS
  2. left:x;: x es el valor de la coordenada X del vértice superior izquierdo de la caja de la imagen a colocar
  3. top:y;:y es el valor de la coordenada Y del vértice superior izquierdo de la caja de la imagen a colocar
  4. z-index:z;: z es el valor de la coordenada Z, o sea la profundidad. Recordar que los elementos con z-index más bajos estarán mas atrás que los que tengan un z-index mayor (Ver Figura 1)

Simplemente posicionamos la primera carta (10 de diamantes) en la posición absoluta (100, 100), pensando la pagina como un sistema de coordenadas. Luego a cada una de las otras 4 cartas las posicionamos sumándole 15px a cada coordenada, por lo que a la sota de diamante le corresponde (115, 115), a la reina (130,130), al rey (145, 145) y al as (160,160). Finalmente usando la propiedad z-index, fijamos el posicionamiento de capas, dandole los valores que se ven en la figura 1 Para mayor informacion vea el artículo Posicionamiento con CSS

respag   
Panamá © 2012
http://respag.net/capas-css-con-z-index.aspx