DrunkMaster
@DrunkMaster

Как бороться с проблемой внутренней ссылки?

Пример кода codepen.io/anon/pen/zNQZwN
Смысл: меню закреплено на странице. В первой строчке ссылка на якорь, переход-то правильно делается но меню закрывает подзаголовок к которому был сделан переход, посетитель теряется он думает что попал к подзаголовку 5 а не 4.
Что и как лучше сделать в этом случае?
  • Вопрос задан
  • 128 просмотров
Решения вопроса 2
iiiBird
@iiiBird Куратор тега CSS
Пока ты спишь - твой конкурент совершенствуется
делай переход не через якорь, а через jq взяв offset().top элемента к которому переходишь и отнимаешь высоту меню
Ответ написан
Комментировать
IIIu6ko
@IIIu6ko
Пару строк на jquery решает проблему.

var $page = $('html, body');
$('a[href*="#"]').click(function() {
  $page.animate({
    scrollTop: $($.attr(this, 'href')).offset().top - 60
  }, 1000);
  return false;
});


codepen.io/anon/pen/KaLeKg
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
aliencash
@aliencash
Партизан
для начала поменяйте местами якорь и заголовок:
<p><a name="z4"> </a><strong>Подзаголовок 4</strong></p>

потом вставьте куда-нибудь в конец css:
a:target {
  display: block;
  height: 70px;
  background-color: red;
}

изучите полученный эффект.
Ответ написан
Ваш ответ на вопрос

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

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