Я не понял, тебе нужно внутри блока выровнять текст или чтобы весь этот блок сам был выровнен по вертикали в его контейнере? Сперва было нужно выровнять текст внутри контейнера - вы мне с этим помогли. Теперь, если мы захотим разместить справа от контейнера какой-нибудь текст и добавим внутрь класса "text" атрибут "float: left", то содержимое контейнера снова окажется у его верхней границы. Как этого не допустить? См. пример ниже: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru-ru" lang="ru-ru"> <head> <meta http-equiv="content-type" content="text/html; charset=Windows-1251" /> <title>Пример</title> <style type="text/css"> .text{ float: left; width:400px; height:300px; display:table-cell; vertical-align:middle; border:1px solid #ccc; } </style> </head> <body> <div class="text"> текст </div> <p> Основной текст страницы обтекает контейнер справа </p> </body> </html> Я этого не знал