Tengo un simple botón HTML que contiene texto y una imagen:¿Cómo alinear verticalmente una imagen de tamaño desconocido al centro de un div?
HTML:(Ya el http://jsfiddle.net/EFwgN)
<span class="Button">
<img src="http://www.connectedtext.com/Image/ok.gif" />
Small Icon
</span>
CSS:
span.Button {display:inline-block; margin:2px 4px;padding:3px 6px;
background-color:#ddd; height:24px; line-height:24px;
vertical-align:middle;}
span.Button img {vertical-align:middle;}
que pueda Propongo una combinación que se ajuste a estos requisitos:
- La imagen y el texto deben estar verticalmente en el medio del div, con el texto en el medio de la imagen. Debería ser ordenado.
- horizontalmente - la imagen puede estar en cualquier ancho, y el botón debe crecer para mostrarlo.
- Verticalmente - la imagen puede estar en cualquier altura, más pequeña o más grande que el botón. Cuando la imagen es más grande, no me importa si se muestran o recortan los píxeles adicionales, siempre que estén centrados.
- El botón está en una altura fija. Actualmente utilizo
line-height
para centrar el texto. - El botón debe quedar bien alineado con otros botones y texto.
- La solución tiene que trabajar en todas las últimas versiones de los principales navegadores, e Internet Explorer 8.
He aquí una jsFiddle con mi código actual: http://jsfiddle.net/EFwgN
(tenga en cuenta el pequeño icono es ligeramente por debajo del centro del botón)
Sé que hay un sinnúmero de duplicados, pero podría hacer que todo funcione bien ... – Kobi
Ok, está en marcha. * (al menos) * ** 150 ** reputación en moneda de recompensa por una buena solución, extra ** 50 ** si la solución es compatible con IE8 en modo compatibilidad. – Kobi
He encontrado una forma de desactivar la vista de compatibilidad, ¡así que no hay puntos extra! http://twigstechtips.blogspot.com/2010/03/css-ie8-meta-tag-to-disable.html – Kobi