remove float examples ejemplos css z-index css-float

float - CSS flotante con superposición



position float css (4)

Estoy tratando de configurar una estructura de pestañas horizontal simple para una página en la que estoy trabajando, y estoy teniendo problemas con los div flotantes combinados con z-index.

Ver el siguiente código en un navegador:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <style type="text/css"> #main { width: 500px; z-index: 1;} .left { float: left; width: 96px; background-color: red; border: 2px solid orange; z-index: 2; margin-right: -2px } .right { float: left; width: 396px; background-color: #09c; border: 2px solid green; z-index: 3; } .clear { clear: both; } </style> </head> <body> <div id="main"> <div class="left"> LEFT </div> <div class="right"> RIGHT <br /> RIGHT </div> <div class="clear"></div> </div> </body> </html>

¿Por qué el borde anaranjado del div izquierdo no se superpone con el borde verde del div derecho?


margin-left negativo margin-left

.right { float: left; width: 396px; background-color: #09c; border: 2px solid green; z-index: 3; margin-left: -5px;}


La propiedad z-index no se aplicará a los elementos posicionados estáticamente. Para usar el índice Z, CSS también debe incluir cualquier valor de posición que no sea estático (es decir, relativo, absoluto, fijo).

.left { float: left; width: 96px; background-color: red; border: 2px solid orange; z-index: 3; margin-right: -2px; position: relative; } .right { float: left; width: 396px; background-color: #09c; border: 2px solid green; z-index: 2; position: relative; }

Te daré lo que quieras, creo. Agregué la posición: relativa; y cambió el índice Z de .left a 3 (de 2) y cambió el índice z de .right a 2 (de 3).


Use la propiedad de position para el elemento superior. Agregar position:relative a .left .


z-index no tiene ningún efecto sobre los elementos que no están posicionados (p. ej. position:absolute; )