Si tiene una altura fija en su contenedor, puede configurar la altura de la línea para que sea igual a la altura, y se centrará verticalmente. Luego solo agrega text-align para centrar horizontalmente.
He aquí un ejemplo: http://jsfiddle.net/Cthulhu/QHEnL/1/
EDITAR
El código debería tener este aspecto:
.img_thumb {
float: left;
height: 120px;
margin-bottom: 5px;
margin-left: 9px;
position: relative;
width: 147px;
background-color: rgba(0, 0, 0, 0.5);
border-radius: 3px;
line-height:120px;
text-align:center;
}
.img_thumb img {
vertical-align: middle;
}
Las imágenes siempre estarán centradas en horizontal y en vertical, sin importar su tamaño es . Aquí es 2 más ejemplos con imágenes con diferentes dimensiones:
http://jsfiddle.net/Cthulhu/QHEnL/6/
http://jsfiddle.net/Cthulhu/QHEnL/7/
ACTUALIZACIÓN
Ahora es 2016 (el futuro!) Y parece que algunas cosas están cambiando (por fin! !).
Detrás en 2014, Microsoft announced que dejará de soportar IE8 en todas las versiones de Windows y alentará a todos los usuarios a actualizar a IE11 o Edge. Bueno, se supone que esto sucederá el próximo martes (12 de enero).
¿Por qué es esto importante? Con el anunció la muerte de IE8, finalmente podemos comenzar a usar CSS3 magia.
Con eso se dice, aquí es una forma actualizada de elementos de alineación, tanto horizontal como verticalmente:
.container {
position: relative;
}
.container .element {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
uso de este método transform: translate();
, usted ni siquiera necesita tener una altura fija en su contenedor, es completamente dinámico. ¿Tu elemento tiene altura o ancho fijos? ¿Tu contenedor también? ¿No? No importa, siempre estará centrado porque todas las propiedades de centrado están fijadas en el niño, es independiente del padre. Gracias CSS3.
Si solo necesita centrar en una dimensión, puede usar translateY
o translateX
. Pruébalo por un tiempo y verás cómo funciona. Además, intente cambiar los valores del translate
, lo encontrará útil para un montón de situaciones diferentes.
Aquí, tienen un nuevo violín: https://jsfiddle.net/Cthulhu/1xjbhsr4/
Para obtener más información sobre transform
, here's a good resource.
Happy coding.
lo siento, pero la altura de la imagen no es la misma para todas las imágenes! también el ancho no es el mismo para todas las imágenes, entonces necesito margen-izquierda y margen-derecho establecidos en auto – aainaarz
¿Pero la altura no es siempre la misma para .img_thumb? – Cthulhu
altura de div en la imagen de bruja que se coloca es 120px pero la imagen en sí misma puede tener altura máxima: 120px, y mín: 1px (en teoría). + esto es para ser una galería así que una imagen es altura 80px segundo 40px tercera 109px ... ¡y una! – aainaarz