Възможно ли е да се позиционира а div
спрямо друг div
кой не е родител? Например:
<div id="header"><!-- --></div>
<div id="content"><!-- --></div>
<div id="footer"><<!-- --></div>
В горния код може #footer
да бъде относително позициониран към #header
?
UPDATE
Питам, защото семантичната структура надизайн, който възнамерявам да реализирам, не съвпада с начина, по който искам да го представя. Визуално ще имам меню в горната част на страницата и скрит div, който ще се плъзне над менюто при събитие при щракване. Следователно трябва да разбъркам поръчката или деленията така, че a #menu
е относително позициониран под a #header
и ще остане относително позициониран, когато #header
плъзга се в jQuery slideToggle()
събитие.
<div id="menu"><!-- --></div>
<div id="header"><!-- --></div>
<div id="content"><!-- --></div>
<div id="footer"><<!-- --></div>
#header
трябва да се фиксира в горната част на прозореца. #menu
трябва да се позиционира спрямо #header
такъв, че когато #header
плъзга се, #menu
плъзга надолу със същото разстояние.
Отговори:
1 за отговор № 1Да. Не сте казали как искате да бъдат позиционирани, но можете да получите текущата позиция на #header
използвайки offset
като този:
var pos = $("#header").offset();
... и можете да зададете позицията на #footer
по желание чрез някоя от двете css
:
$("#footer").css({
position: "absolute",
left: /* some value here*/,
top: /* some value here*/
});
... или чрез offset
:
$("#footer").offset({
left: /* some value here*/,
top: /* some value here*/
});
... където (и в двата случая) попълвате желаните отляво и отгоре стойности въз основа на позицията на заглавката.
offset
приема номера за left
и top
. стрелец с лък ни казва в коментарите, че css
прави също и добавя "px"
за нас и това изглежда работи, въпреки че не го виждам в документацията, така че винаги съм си поставял "px".
0 за отговор № 2
Как да преместя HTML елемент в jQuery?
Този въпрос даде отговора, който исках.По принцип можете да използвате jQuery за преместване на елемента в DOM при зареждане на страница; имайте предвид, че е важно да позволите на страницата да се зареди първо, преди да се опитате да манипулирате DOM.