Cómo hacer que una capa se muestre sobre otra en HTML / CSS

No es el índice z.

Conseguir un elemento encima de otro se logra con una de tres técnicas diferentes:

Cambiar el posicionamiento

En lugar del estado de position: static predeterminado position: static , usaría un valor de posicionamiento que le permitiera cambiar la posición de desplazamiento del elemento. Estos pueden afectar el flujo de contenido.

position: relative (posiciona el elemento en relación a donde estaría en el flujo normal)
position: fixed (coloca el elemento en relación con la ventana)
position: absolute (coloca el elemento en relación con un elemento padre que se ha posicionado)

Después de usar una de esas tres opciones de posicionamiento, puede usar las propiedades top e left para colocar el elemento donde desee.

Cambiar el margen

En lugar de posicionamiento, puede confiar en un margen negativo para el segundo elemento. Esto afecta el flujo de contenido.
margin-top: -2em moverá un elemento dos em más alto y le permitirá superponer otro elemento.

Transforma el elemento

Este solo está disponible en CSS3. Puede elegir no cambiar la posición o el margen del elemento, sino confiar en la propiedad de transformación. Esto significa que el flujo de contenido no se ve afectado en absoluto, solo la presentación del elemento.

transform: translate(x, y)

Pero, el índice z

La propiedad de índice z especifica el orden z de un elemento y sus descendientes.
El trabajo del índice Z es determinar qué elemento se muestra cuando ya se superponen .

índice z
posición
margen

El índice z es una propiedad bastante incomprendida. Funciona solo para elementos posicionados. Esto significa que solo funcionará para los elementos a los que aplica posición: relativo / fijo / absoluto.
Si desea superponer dos elementos de nivel de bloque y aún desea mantener el posicionamiento estático (es el valor predeterminado), ¡puede usar márgenes negativos ! Extraño pero funciona. Se comportaría de la manera que desee.

Establezca sus posiciones como absolutas y luego use el índice z para determinar cuál está sobre cuál.

.positioned-divs {position: absolute; }
.positioned-divs.div-under {z-index: 1; }
.positioned-divs.div-over {z-index: 2; }

Deberia trabajar. Tendrá que establecer las posiciones izquierda / derecha y superior / inferior también, pero espero que tenga la idea.

Además, para agregar a la respuesta del índice z, la forma en que estructura su HTML realmente hace una diferencia en el orden de apariencia, ya que puede ver que # div2 aparece en la parte superior de # div1 porque está después en la estructura DOM.

Editar violín – JSFiddle

Puede usar z-index: propiedad CSS z-index

More Interesting

¿Es una señal de alerta cuando un campamento de programación incluye una cláusula de confidencialidad que cubre los términos del acuerdo en sí?

Para la mayoría de mis sitios, creo que jQuery es suficiente, ¿qué me pasa?

¿Cuándo debe un equipo de startups tecnológicas traer un ingeniero de control de calidad / prueba dedicado?

Cómo pasar de un desarrollador de C ++ a un desarrollador de aplicaciones web (back-end)

¿Alguien ha conseguido un trabajo después de aprender de Tuts + o Treehouse?

¿Cuál es mejor php o WordPress?

¿Cuáles son algunas buenas implementaciones de la API Open Graph de Facebook?

¿Es posible crear un sitio web de juego en línea?

¿Cómo puedes subir de nivel como desarrollador de Ruby? Llevo un año escribiendo código Ruby y, aunque puedo identificar y comprender la mayoría de los conceptos / métodos, si no todos, tengo problemas para implementarlos.

¿Qué hace una computadora cuando se está "cargando"?

¿Qué proyecto debo usar para configurar la integración continua en un proyecto de Django, base de código alojada por GitHub?

¿Es lo mismo hacer SEO en sitios web de WordPress y HTML?

¿Por qué el buen alojamiento web es una parte crucial antes de crear un sitio web?

¿Cuáles son algunas formas en que uno puede renderizar LaTeX en la página web?

Cuando desarrolla un modelo para el aprendizaje automático, ¿este modelo permanece en el lado del cliente o del servidor? ¿Cuál es la mejor manera de crear un modelo? ¿Dónde debería quedarse?