Sto tentando di creare un elenco numerato in cui ogni elemento li
contiene un'immagine e un blocco di testo. Il numero elenco, il blocco immagine e il testo dovrebbero essere tutti allineati verticalmente lungo una linea centrale orizzontale. Il blocco di testo potrebbe essere costituito da più righe. Ecco un esempio molto approssimativa:CSS: c'è un modo per allineare verticalmente i numeri/punti elenco prima di ogni elemento della lista?
Il più vicino che ho raggiunto è il seguente, che allinea la lista numero in basso (testato in Chrome 15, Firefox 8, IE9). Vedi anche jsfiddle mockup.
<style type="text/css">
li div { display: inline-block }
li div div { display: table-cell; vertical-align: middle }
</style>
<ol>
<li><div><div><img src=widget.png></div><div>Caption Text Here</div></div></li>
</ol>
C'è un modo multipiattaforma per farlo senza fornire la numerazione da solo?
Modifica. Un altro requisito: se la larghezza del contenitore è molto piccola (ad esempio, se visualizzata su un dispositivo mobile), il blocco di testo deve rimanere a destra dell'immagine. Non ci dovrebbe essere alcun testo che avvolge l'immagine.
Grazie mille per la risposta, ma questo non soddisfa il requisito della casella di testo multilinea. – dlh
In realtà solo un piccolo cambiamento ... ancora usando 'vertical-align: middle;' http://jsfiddle.net/Wexcode/uGuD8/1/ – Wex
Ma se il tuo text-block è più largo di quello che si adatta al contenitore genitore, l'intero blocco di testo verrà visualizzato sotto l'immagine. Mi piacerebbe che il testo rimanesse a destra dell'immagine, indipendentemente dalla larghezza del contenitore. – dlh