Как настроить абсолютную позицию DIV с Jquery? - PullRequest
5 голосов
/ 28 июня 2011

У меня есть такой код:

$('#lol').css({ position: "absolute",

        marginLeft: 0, marginTop: 0,

        top: 0, left: 0});

Проблема в том, что мой div расположен относительно, поэтому это точка 0 элемента div, а не все окно. Почему это так?

Ответы [ 5 ]

11 голосов
/ 28 июня 2011

Как указано в других ответах, по крайней мере один из родительских элементов #lol имеет набор position, который заставляет ваш элемент располагаться в родительском элементе.

Решением с помощью jQuery было бы прикрепить элемент непосредственно к телу.

$('#lol').css({ 
    position: "absolute",
    marginLeft: 0, marginTop: 0,
    top: 0, left: 0
}).appendTo('body');

Это заставит его появиться в верхнем левом углу окна.

3 голосов
/ 28 июня 2011

Элементы с position: relative или position: absolute будут расположены относительно ближайшего родителя с position: relative или position: absolute. Поэтому, если вы хотите, чтобы ваш элемент располагался относительно всего окна, держите его вне родительских оболочек с относительными или абсолютными позициями.

3 голосов
/ 28 июня 2011

Почему это?

Если вы хотите использовать position: absolute относительно всего окна, вам необходимо убедиться, что у вашего #lol нет родительских элементов, также расположенных absolute, fixed или relative.

В противном случае любое указанное вами положение будет иметь место относительно них.

0 голосов
/ 12 марта 2015

Если вы хотите использовать absolute: position в элементе по отношению ко всему экрану окна, то любой родительский элемент этого элемента не должен иметь никаких значений позиции, таких как absolute, fixed илиlative, поскольку элемент будетпозиция относительно его родителя, если ему присвоен какой-либо атрибут позиции.Надеюсь, это ответит вам хорошо ...:)

0 голосов
/ 28 июня 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...