Центровка элемента — одна из типовых задач в верстке. Решать её можно по разному, рассмотрим некоторые способы.
Горизонтальная центровка.
С центровкой текста все ясно:
| 1 | text-align: center; | 
HTML tag center
Раньше встречалось использование тега <center>, который является валидным только в transitional doctype. Считается, что его использование аналогично действию text-align: center. Однако это не так. Им можно центрировать не только текст, но и контейнер вроде div.

Здесь я отцентрировал по горизонтали с помощью <center> контейнер с фиксированной шириной. При этом, если убрать <center> и дописать в стили <body> прилегание текста по центру, то эффекта центровки контейнера мы не получим. Обратите внимание, что на рисунке не только сам контейнер центрован, но и текст в нем также центрован.
Код примера в HTML
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <html> <head> <style> #sample {     width: 200px;         background: #8F8; } </style> </head> <body>     <center>         <div id="sample">         Lorem Ipsum is simply dummy text of the printing and typesetting industry.          Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,          when an unknown printer took a galley of type and scrambled it to make a type          specimen book.         </div>     </center> </body> </html> | 
Margin: auto;
Чтобы стилями добиться эффекта подобного <center>, можно добавить специфический margin. Тогда тег <center> можно убрать.
| 1 2 3 4 5 6 7 | #sample {     width: 200px;         background: #8F8;     /* center tag */     margin: 0 auto;     text-align: center; } | 
Центровка таблицей.
Кто любит табличную магию, те могут применять центровку таблицей. Результат аналогичен <center>.
Код HTML
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <html> <head> <style> #sample {     width: 200px;         background: #8F8; } </style> </head> <body>     <table width="100%"><tr><td align="center">         <div id="sample">         Lorem Ipsum is simply dummy text of the printing and typesetting industry.          Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,          when an unknown printer took a galley of type and scrambled it to make a type          specimen book.         </div>     </td></tr></table> </body> </html> | 
Вертикальная центровка
Раз уж мы заговорили о настоящей табличной магии, то нет ничего сложного центровать контейнер в таблице по вертикали.

В таблице из прошлого примера добавим центровку по вертикали (valign=center»). Табличку я подкрасил, чтобы визуализировать её границы.
HTML код для табличной центровки контейнера по вертикали.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <html> <head> <style> #sample {     width: 200px;         background: #8F8; } table {     background: #88F; } </style> </head> <body>     <table width="100%" height="250"><tr><td align="center" valign=center">         <div id="sample">         Lorem Ipsum is simply dummy text of the printing and typesetting industry.          Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,          when an unknown printer took a galley of type and scrambled it to make a type          specimen book.         </div>     </td></tr></table> </body> </html> | 
Центровка с помощью CSS свойства vertical-align.
Vertical-align относиться к свойству прилегания строки, потому наш контейнер нужно сначала подготовить. Вместо дефолтного display: block нужно установить block-inline. Добавим внешний контейнер, который имитирует строку, где выравнивается наш тестовый блок.

Вроде бы все есть, но почему то центровки по вертикали не происходит. Чудо не случилось :). Все потому, что middle должен вычисляться относительно других элементов строки, а их нет.
HTML код примера выше.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <html> <head> <style> #line {     /* контейнер имитирует строку 250 точек высотой */     background-color: #88F;     height: 250px;     line-height: 250px; } #sample {     /* тестовый контейнер */     width: 150px;         background-color: #8F8;     line-height: 18px;     vertical-align: middle;     display: inline-block; } </style> </head> <body>     <div id="line">         <div id="sample">             Lorem Ipsum is simply dummy text of the printing and typesetting industry.              Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.         </div>     </div> </body> </html> | 
Чтобы пример заработал достаточно добавить в #line неразрывного пробела —  . Это также могут быть другие inline, block-inline контейнеры, вроде #sample.

Теперь все получилось, как задумано. Контейнер #sample занял положение по центру строки.
| 1 2 3 4 5 6 7 8 9 | <body>     <div id="line">         <div id="sample">             Lorem Ipsum is simply dummy text of the printing and typesetting industry.              Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.         </div>               </div> </body> | 
Вот такая маленькая хитрость. :)
