Вам необходимо установить top
и left
на 50%
, чтобы центрировать левый верхний угол элемента. Вам также нужно установить margin-top
и margin-left
на отрицательную половину высоты и ширины div, чтобы сместить центр к середине div.
Таким образом, при условии <!DOCTYPE html>
(стандартный режим) это должно сделать:
position: fixed;
width: 500px;
height: 200px;
top: 50%;
left: 50%;
margin-top: -100px; /* Negative half of height. */
margin-left: -250px; /* Negative half of width. */
Или, если вас не интересует центрирование по вертикали и старые браузеры, такие как IE6 / 7, вы можете вместо этого добавить left: 0
и right: 0
к элементу, имеющему margin-left
и margin-right
из auto
, так что элемент с фиксированным положением, имеющий фиксированную ширину, знает, где начинаются его левое и правое смещения. В вашем случае так:
position: fixed;
width: 500px;
height: 200px;
margin: 5% auto; /* Will not center vertically and won't work in IE6/7. */
left: 0;
right: 0;
Опять же, это работает только в IE8 +, если вы заботитесь о IE, и это центрируется только горизонтально, а не вертикально.