Если вы хотите центрировать абсолютный элемент
#div {
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
width:300px; /* Assign a value */
height:500px; /* Assign a value */
margin:auto;
}
Если вы хотите, чтобы контейнер располагался по центру слева направо, но не сверху вниз
#div {
position:absolute;
left:0;
right:0;
width:300px; /* Assign a value */
height:500px; /* Assign a value */
margin:auto;
}
Если вы хотите, чтобы контейнер располагался по центру сверху вниз, независимо от того, слева направо
#div {
position:absolute;
top:0;
bottom:0;
width:300px; /* Assign a value */
height:500px; /* Assign a value */
margin:auto;
}
Дополнение от 15.12.2015
Ну, я научился этому новому трюку несколько месяцев назад. Предполагая, что у вас есть относительный родительский элемент.
Вот ваш абсолютный элемент.
.absolute-element {
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, -50%);
width:50%; /* You can specify ANY width values here */
}
С этим, я думаю, это лучший ответ, чем мое старое решение. Так как вам не нужно указывать ширину и высоту. Этот он адаптирует содержание самого элемента.