Способ сделать это будет включать в себя небольшое количество JS, но не так много. Хотя сначала я пойду через CSS:
Для начала нужно добавить:
left: 50%;
Получает конец div слева на полпути по странице. Затем дайте ему класс, чтобы мы могли ссылаться на него в JavaScript, например:
<div style='position:relative'>
<div class='center-absolute'>Content</div>
</div>
Таким образом, мы можем ссылаться на него в CSS и JS. Мы используем класс, поскольку вы должны использовать идентификатор только для одного элемента.
Вот CSS, который вам понадобится для .center-absolute
:
.center-absolute {
position: absolute;
left: 50%;
}
Тогда для JS. Поскольку может быть несколько элементов, нам нужен цикл for для итерации между каждым из них:
var $centerAbsolute = document.getElementsByClassName('center-absolute');
for (i = 0; i < $centerAbsolute.length; i++) {
$centerAbsolute[i].style.marginLeft = $centerAbsolute[i].offsetWidth / 2 * -1 + 'px';
}
Это повторяет все элементы с классом center-absolute
и дает им запас слева от минус половины ширины элемента, который его центрирует.
Вот демоверсия рабочей скрипки:
http://jsfiddle.net/Hive7/FqJ7T/