Я усвідомлюю, що це питання було задано два роки тому, але для останніх глядачів, ось альтернативне рішення, яке має кілька переваг перед рішенням Марка-Франсуа:
div {
height: 50px;
border: 1px solid blue;
line-height: 50px;
}
Тут ми просто додаємо line-height
рівне до висоти div. Перевагою є те, що тепер ви можете змінити властивість відображення div, як вважаєте за потрібне, inline-block
наприклад, і його вміст залишиться вертикально відцентрованим. Прийняте рішення вимагає, щоб ви розглядали div як комірку таблиці. Це має працювати ідеально, крос-браузер.
Єдиною перевагою є лише одне правило CSS замість двох :)
На здоров’я!
<table>
та застосуванняvalign='middle'
до її<td>
s.