Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/09/2010, 18:39
Avatar de matius
matius
 
Fecha de Ingreso: julio-2005
Ubicación: Mexico, D.F.
Mensajes: 554
Antigüedad: 18 años, 9 meses
Puntos: 2
Respuesta: Centrar imagen dentro de capa

Así se hace, aunque no será compatible con navegadores viejos como IE6

El truco es usar un SPAN para llevar a su posición la imagen y usar display:inline

Código HTML:
<html>
<head>


<style type="text/css">

.envolcentro { background-color: #FF3399;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    width:1024px; /* tamaño horizontal del div contenedor de la imagen */
    height:600px; /* tamaño vertical del div contenedor de la imagen */
}
.envolcentro * {

    vertical-align: middle;
}

/*\*//*/
.envolcentro {
    display: block;
}

/* Este es el truco */
.envolcentro span {
    display: inline-block;
    height: 100%;
    width: 1px; 
}
/**/
</style>
<!--[para internet  IE 8]><style>
.envolcentro span {
    display: inline-block;
    height: 100%;
}
</style><![endif]-->

</head>

<body><div class="envolcentro">
<span></span><img  src="bottom.png" width="300" height="300" alt="none" /></div>
</body>
</html> 
Agregas la clase class="envolcentro" a cualquier div donde quieras centrar verticalmente una imagen.

Al lado de la tag img se pone la tag <span></span> vacía.


Funciona en IE7, IE8, FireFox, Opera, Safari.

Última edición por matius; 16/09/2010 a las 19:11 Razón: Ultimo cambio