@sidorchik

Как сделать переход к якорю, если шапка закрывает?

Мне нужно сделать меню с ссылками на якоря. Но у меня не получается, потому что мешает фиксированная шапка. Например, страница прокручивается до блока с заголовком «До центра рукой подать», но шапка закрывает начало:
project2017.std-221.ist.mospolytech.ru/#place
5a240074ddf5f128233866.jpeg

Что сделать, чтобы при переходе к якорю стало следующим образом?
5a2400a34d2e9189514807.jpeg

Наверное, можно задать блоку padding-top, но так придётся переделывать всю вёрстку. Может есть какой-то скрипт, благодаря которому при переходе к якорю страница будет недоезжать 75px?
  • Вопрос задан
  • 5262 просмотра
Решения вопроса 1
@trofimovdev
Python
Вот вам готовый скрипт на JQuery.
$(document).ready(function() {
	$("a.scrollto").click(function () {
		elementClick = $(this).attr("href")
		destination = $(elementClick).offset().top;
		$("html:not(:animated),body:not(:animated)").animate({scrollTop: destination - *высота шапки*}, 1100);
		return false;
	});
});

Для того, чтобы ссылка была "со скроллом" нужно добавить ей класс scrollto
Также не забудьте указать высоту шапки и время прокрутки (по умолчанию 1100мс)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Нашел еще одно решение с помощью свойства `scroll-padding-top`, как я понял работает на Хромовском движке.
Статья
Пример
Ответ написан
Комментировать
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
Делается это через js, средствами голого html без костылей не получится.
https://yandex.ru/search/?text=js%20scrollto&clid=...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы