Установите верхнюю границу поля для DIV, используя JQuery

Вот ситуация, у меня есть фиксированный заголовок с высотой 120 пикселей, и я заставил страницу перейти на #testdiv, когда строка запроса - #testdiv.

Но проблема в том, что когда страница перескакивает в начало вышеуказанного DIV, часть содержимого будет потеряна, потому что за фиксированным заголовком есть ли какой-либо jquery, чтобы заставить страницу перейти на #testdiv с не фактическим запасом?

Я попробовал код ниже, но он делает фактический запас

if (url.indexOf('#testdiv') >= 0) {
$('#testdiv').css('margin-top',120);
};

Ответы

Ответ 1

Я думаю, что будет самый простой способ сделать это, установите margin-top для своего поля и установите отрицательный margin-top для родительского поля.

Это должно быть для вас.

if (url.indexOf('#testdiv') >= 0) {
$('#testdiv').css('margin-top',120);
$('#parent').css('margin-top',"-120px");
};

Ответ 2

Вы можете установить margin-top через jQuery следующим образом:

$("#mydiv").css("margin-top", "10px");

Ответ 3

Если у вас есть фиксированный заголовок, который вы не хотите перекрывать, вам нужно добавить padding-top в содержащийся div (или тело, если требуется), который соответствует высоте фиксированного содержимого, чтобы выталкивать базовые элементы вниз.