Это скорее вопрос решения проблемы. Я пытаюсь использовать встроенную прокрутку на странице, которую дают браузеры, чтобы позволить мобильным пользователям быстрее переходить к нужному контенту.
Проблема в том, что у меня на странице есть липкий заголовок, поэтому при использовании нативного <a id="section1"></a>
, посещение #section1
означает, что позиция прокрутки находится за липким заголовком.
Есть ли способ, используя обычный JS (или даже CSS, если возможно!), Сместить позицию прокрутки на количество пикселей? Или есть более элегантное JS решение для этого, которое будет работать в IE11, Edge, Chrome & FF?
<header> ... </header> <!-- site-wide sticky header using position: sticky -->
<main>
<nav> <!-- page-specific sticky nav using position: sticky (placed under <header />) -->
<a href="#top">Top</a>
<a href="#bottom">Bottom</a>
</nav>
<div class="content">
<section>
<a id="top"></a>
...
...
...
</section>
...
<section>
<a id="bottom"></a>
...
...
...
</section>
</div>
</main>