jueves, 16 de septiembre de 2010

Centrar una imagen o un DIV verticalmente dentro de otro DIV

Centrar contenido verticalmente no es tarea sencilla, pues ni siquiera existe una propiedad, por ejemplo encargada de centrar una imagen horizontalmente, menos de hacerlo de forma vertical, aún así es posible centrar en X e Y un contenido al mismo tiempo mediante un truco usando una etiqueta <span></span> vacia, aunque claro esto no será compatible con Internet Explorer 6.
Captura de una imagen centrada en los ejes X e Y
Como sea yo ya no doy soporte, ni me interesa obsesionarme con que todos los navegadores sean compatibles, así que mientras que todos los navegadores actuales incluyendo a IE7 y I8 lo soporten me doy por satisfecho.

Podemos copiar este código HTML en un archivo text y guardarlo como pagina.html
<html>
<head>
<style type="text/css">
.envolcentro { background-color: #FF3399;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    width:1024px;
    height:600px;
}
.envolcentro * {
    vertical-align: middle;
}
/*\*//*/
.envolcentro {
    display: block;
}
.envolcentro span {
    display: inline-block;
    height: 100%;
    width: 1px;
}

/* copien y peguen lo de color rosa en su hoja de estilo */
</style>
<!--[para internet  IE 8]><style>
.envolcentro span {
    display: inline-block;
    height: 100%;
}
</style><![endif]-->


</head>

<body>
<div class="envolcentro">
<span></span>

<img  src="imagen.png" width="300" height="300" alt="none" />
</div>
</body>
</html>

Explicando el truco
Para que funcione con Internet Explorer 8 agreguamos luego de </style> o en cualquier parte antes de la etiqueta </head> el siguiente estilo (como se muestra arriba):
<!--[para internet  IE 8]><style>
.envolcentro span {
display: inline-block;
height: 100%;
}
</style><![endif]-->
La clase envolcentro se la agregamos a el dive que será la envoltura principa:
<div class="envolcentro"></div>
Dentro de esta tendremos que agregar una etiqueta vaciá de SPAN:
<div class="envolcentro"><span></span></div>
Despues de SPAN podemos poner un div, una imagen o un texto, para el caso de la imagen:
<div class="envolcentro">
<span></span><img  src="imagen.png" width="300" height="300" alt="none" />
</div>
Para texto:
<div class="envolcentro">
<span></span>Hola, escribe tu texto aquí
</div> 
Para un div:
<div class="envolcentro">
<span></span>
<div>contenido</div>
</div>
En el estilo principal, deberemos modificar el ancho y el alto del DIV:
.envolcentro 
{
background-color: #FF3399;
display: table-cell;
text-align: center;
vertical-align: middle;
width:1024px;
height:600px;
}
Un ejemplo que he diseñado puede visitarse desde: Pagina centrada verticalmente

Comentarios y Consultas

Los mensajes son moderados serán revisados antes de publicarse.

Este no es un foro de adolescentes, no uses letras en vez de palabras completas como "q" en vez de "que", ni escribas tus mensajes en mayúsculas, se respetuoso con los demás, si no estás de acuerdo no comentes.

Una cosa es que no te guste una crítica, otra que uses un lenguaje inapropiado para demostrarlo. No me siento en la obligación de publicar ningún mensaje en específico o de leerlo entero si usas palabras altisonantes.

Samurai Jack (2017), episodio 7

Samurai Jack (2017)Ashi enfrenta a su madre, Jack a su yo interior lleno de ira.

[Leer artículo...]

Noragami entra en paro indefinido

Noragami es suspendida temporalmenteUna de las autoras no puede continuar con su trabajo al frente del manga y se ha decidido meter la historia en hiatus, lo que puede significar...

[Leer artículo...]

Tales of Zestiria y su final Yuri

El final de Tales the Zestiria The XLas aventuras de Itami y sus amigos llega a su fin con el rescate de Piña de las manos de Zorzal.

[Leer artículo...]

Warau Salesman New (2017) El vendedor sonriente

Warau Salesman New (2017) EstrenosSatoru descubre al culpable de la trama, es el momento de enfrentarse y tendrá que dar todo de sí para cambiar su suerte.

[Leer artículo...]

  © Cgnauta | CGsign blog | [Ver Licencia de uso] | Matius Lenin, Creative Commons, algunos derechos reservados

Regresar ARRIBA  

Vistas desde Mayo 2009

▼/▲ Archivo del Blog

Visitas totales

Información

IBSN: Internet Blog Serial Number 01-77-94-2008

Esta plantilla es creada y diseñada por Matius Lenin para CGnauta blog. Con Scripts de JQuery bajo licencia GNU/GPL. CGnauta es una marca registrada propiedad de Matius Lenin.

Anexos

Bitacoras.com