C'è una t rick per farlo, anche senza Javascript. Quello di cui abbiamo bisogno è conoscere l'altezza del genitore e abbiamo anche bisogno di un altro tag.
In primo luogo, aggiungere uno SPAN-tag prima o dopo l'IMG-Tag:
<div id="wrapper">
<div id="parent">
<span> </span><img src="path/i/got/from/database/image.png" />
</div>
</div>
Con questo, la seguente dichiarazione CSS allinea l'immagine come voleva:
#parent {
height: 500px; /* This height is important for the following lines */
line-height: 500px; /* Text-content needs to get full height for the
'vertical-align'-attribute to work */
}
#parent span {
display: inline-block; /* Should work even for IE6/7 in this case */
height: 500px; /* Needed for IE */
width: 10px;
margin-right: -10px; /* Any element to the right is pushed to the left
offset of the SPAN-tag */
}
#parent img {
vertical-align: middle; /* Aligns the image in the middle of the SPAN-tag */
}
questo dovrebbe funzionare anche per IE6 e 7.
Edit:
La soluzione ThinkingStiffs è più semplice e quindi migliore. Semplicemente non funziona in IE6.
soluzione Purmous non funziona per IE6 e 7, vedere The display declaration
ha funzionato magnificamente, grazie! – dreagan
Bene, farà sì che l'elemento genitore si comporti come una cella di tabella. – user123444555621