Вертикальное выравнивание элементов
Для вертикального выравнивания элементов для родительского блока обязательно должна быть задана высота (в любых единицах) и класс, которому привяжутся стили. Пусть будет класс .middle:
.middle {
display: block; /* можно display: inline-block; */
height: 300px;
white-space: nowrap;
text-align: center; /* если надо еще и по горизонтали выравнивать */
}
.middle > * {
display: inline-block;
vertical-align: middle;
white-space: normal;
}
.middle:after {
content: '';
display: inline-block;
width: 0;
height: 100%;
vertical-align: middle;
}