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