Существует более простой способ выравнивания содержимого по вертикали без обращения к таблице / ячейке таблицы:
http://jsfiddle.net/bBW5w/1/
В него я добавил невидимый (width = 0) div, который принимает всю высоту контейнера.
Кажется, что работает в IE и FF (последние версии), не проверял с другими браузерами
<div class="t">
<div>
everything is vertically centered in modern IE8+ and others.
</div>
<div></div>
</div>
И, конечно же, CSS:
.t, .t > div:first-child
{
border:1px solid green;
}
.t
{
height:400px;
}
.t > div
{
display:inline-block;
vertical-align:middle
}
.t > div:last-child
{
height:100%;
}