Проблема вертикального выравнивания появилась не сегодня, и общие решения ищутся уже давно. Поиск в гугле дает, например, это и это.
Последняя ссылка особенно полезна, т.к. дает хорошее решение, но только в случае если известна высота родительского окна. А что делать, если наоборот, неизвестна высота родительского блока (окна браузера), но не известна высота дочернего окна. Тоесть если дочерний блок сгенерировался короткий, то он должен форматироваться по центру окна, иначе он должен аккуратно располагаться на странице. Так же нужно, чтобы при изменении размеров окна все двигалось соответственно.
( Читать запись полностью » )Оригинал: http://blog.dpetroff.ru/tech/valign