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