Три строки кода, использующие transform
, работают практически в современных браузерах и Internet Explorer:
.element{
position: relative;
top: 50%;
transform: translateY(-50%);
-moz-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
}
Я добавляю этот ответ, поскольку обнаружил некоторую неполноту в предыдущей версии этого ответа (а переполнение стека не позволит мне просто комментировать).
относительное 'position' портит стиль, если текущий div находится в теле и не имеет контейнерного div. Хотя «исправлено», кажется, работает, но оно, очевидно, фиксирует контент в центре области просмотра
Также я использовал этот стиль для центрирования некоторых оверлеев div и обнаружил, что в Mozilla все элементы внутри этого трансформированного div потеряли свои нижние границы. Возможно проблема рендеринга. Но добавление только минимального отступа к некоторым из них сделало это правильно. Chrome и Internet Explorer (на удивление) визуализировали блоки без необходимости заполнения