Наверняка это может когда-нибудь понадобится. Например при создании страницы-входа на сайт или формы авторизации для входа в какую-либо закрытую часть сайта. В этом случае очень хочется, чтобы элементы дизайна располагались бы в центре окна браузера как по горизонтали, так и по вертикали.

Для примера придумаем несложный HTML-код. Пусть это будет элемент DIV, внутри которого есть картинка и текст. Ну например вот такой:

<div id="example">
 <img src="http://myserver.ru/img/im1.png" alt="Это картинка" />
  А это просто текст слов...
</div>

Я не буду задавать какие-либо стили для элементов, находящихся внутри блока #example, ведь это только пример, а вот CSS-правило для этого блока разберем подробно.

#example {
  position:absolute;
  top:50%;
  left:50%;
  width:250px;
  height:200px;
  margin-left:-125px;
  margin-top:-100px;
  border:1px dotted red;
}

Я исхожу из того, что нам заранее известны ширина и высота центрируемого элемента. Ведь именно этими величинами мы попытаемся воспользоваться, чтобы центрировать элемент на в окне браузера (именно в окне браузера, а не на экране).

Задавая элементу #example абсолютное позиционирование, мы извлекаем его из нормального потока и имеем возможность поместить в любом месте страницы. Что мы и делаем, помещая верхний левый угол элемента в центр окна браузера, задавая свойствам top и left значения 50%.

Зная ширину (250px) и высоту (200px) элемента #example мы задаем свойствам margin-left и margin-top отрицательные значения, равные половине ширины и, соответственно высоты центрируемого элемента, заставляя его таким образом сдвинуться влево и вверх и занять место в центре окна браузера.

Свойство border добавлено лишь для наглядности.

Необходимо отметить, что такое центрирование все-таки немного приблизительное, поскольку на разных компьютерах текст может выводиться разной высоты, разные браузеры будут учитывать или не учитывать ширину полосы прокрутки (даже если фактически ее нет) и т.д.

Но все-таки для большинства задач это решение вполне подойдет.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru