Чистый JavaScript: центрируйте абсолютную позицию div в теле - PullRequest
2 голосов
/ 11 сентября 2011

Какой самый простой и короткий способ центрировать элемент абсолютного положения в теле без использования библиотеки, такой как jQuery. Спасибо!

Edit: Что-то вроде http://jsfiddle.net/apfwh/, но, может быть, с немного чище?

1 Ответ

4 голосов
/ 11 сентября 2011

Я думаю, что нет необходимости в JS. CSS сделает это ( см. Здесь ):

body {
    background: #888;
}

.box {
    width: 100px;
    height: 100px;
    background: #ccc;
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -50px 0 0 -50px;
}

UPD

Если у вас нет фиксированной ширины / высоты элемента:

JS (когда элемент открыт):

element.style.margitLeft = -element.offsetWidth / 2
element.style.margitTop = -element.offsetHeight / 2

CSS:

.box {
    background: #ccc;
    position: fixed;
    left: 50%;
    top: 50%;
}
...