Estoy tratando de alinear una imagen y un texto verticalmente:una imagen y un texto de varias líneas
+-------------------------+ -- Viewport | Text text text | | +-----+ text text text | | |IMAGE| text text text | | +-----+ text text text | | text text text | +-------------------------+
Esto funciona bien, si el texto no se ajusta. Si el Texto es más ancho que el ancho de la ventana gráfica, ya no funciona. Creo que esto es causado por el establecimiento de display: inline-block:
<a href="#">
<img style="display: inline-block; vertical-align: middle; margin-right: 8px;" src="images/arrow_black.png" />
<span style="display: inline-block; vertical-align: middle;">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonum eirmod tempor invidunt ut labore et dolore
</span>
</a>
El resultado:
+---------------------------------------------------------------------+ -- Viewport | | | +-----+ | | |IMAGE| text text text text text text text text text text text text | | +-----+ | | | +---------------------------------------------------------------------+ +-------------------------+ -- Viewport | +-----+ Text text text | | |IMAGE| text text text | | +-----+ text text text | | text text text text | +-------------------------+
Si trato de flotar los elementos, la imagen será siempre en la parte superior, pero no vertical- aligend en medio del texto:
<a href="#">
<img style="display: block; vertical-align: middle; margin-right: 8px; float: left;" src="/images/arrow_black.png" />
<span style="display: block; overflow: auto;">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</span>
</a>
el resultado:
+-------------------------+ -- Viewport | +-----+ Text text text | | |IMAGE| text text text | | +-----+ text text text | | text text text | | text text text | | text text text | +-------------------------+
He visto varias soluciones para este problema, usando html-tables o css-tables (display: table and display: table-cell), pero esta no es una opción, porque debe funcionar con todos los tipos de navegadores (desktop y móvil).
Para eso, no conozco ningún tamaño. Ni de la imagen ni del texto. Entonces no puedo usar ninguna "solución de margen o relleno".
EDITAR: He creado un demo-fiddle (basado en el NGLN ha creado, por cierto: Gracias por eso) que muestran el resultado estoy buscando. Pero trato de archivar esto sin usar display: table-cell ... ¿alguna idea?
¿Qué navegador no admite html-tables? – Kraz
¿La ventana gráfica tiene un tamaño fijo? Y es la imagen de tamaño fijo? – NGLN
+1 para el arte ascii – NGLN