вся заслуга принадлежит владельцу этой ссылки @Sebastian Ekström Link, пожалуйста, пройдите через это. увидеть его в действии codepen, прочитав статью выше, я создал демонстрацию fiddle также.
С помощью всего 3 строк CSS (исключая префиксы поставщиков) мы можем с помощью transform: translateY центрировать по вертикали все, что захотим, даже если мы не знаем его высоту.
Свойство CSS transform обычно используется для поворота и масштабирования элементов, но с его функцией translateY теперь мы можем выравнивать элементы по вертикали. Обычно это должно быть сделано с абсолютным позиционированием или установкой высоты строки, но для этого требуется, чтобы вы либо знали высоту элемента, либо работали только с однострочным текстом и т. д.
Итак, для этого пишем:
.element {
position: relative;
top: 50%;
transform: translateY(-50%);
}
Это все, что вам нужно. Это метод, аналогичный методу абсолютного положения, но с преимуществом в том, что нам не нужно устанавливать высоту элемента или свойство положения родителя. Он работает прямо из коробки, даже в IE9!
Чтобы сделать его еще более простым, мы можем написать его как миксин с его префиксами поставщиков:
person
ankitd
schedule
11.08.2014