Есть хитрость, чтобы сделать это, даже без Javascript.
Нам нужно знать высоту родительского элемента, а также еще один тег.
Сначала добавьте тег SPAN до или после тега IMG:
<div id="wrapper">
<div id="parent">
<span> </span><img src="path/i/got/from/database/image.png" />
</div>
</div>
При этом следующая декларация CSS выравнивает изображение по желанию:
#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 */
}
Это должно работать даже для IE6 и 7.
Редактировать:
Решение ThinkingStiffs проще и, следовательно, лучше. Я просто не работаю в IE6.
Чистое решение не работает для IE6 и 7, см. Объявление на дисплее