Кратко
СкопированоСвойство scroll
добавляет отступ между краем области прокрутки (контейнера со скроллом) и элементом, к которому происходит прокрутка внутри этого контейнера. Такой элемент называют «прокручиваемым» или «элементом назначения». Применяется, когда к элементу прокручивают страницу с помощью якоря (#anchor
) или JavaScript (scroll
).
Пример
Скопировано<div class="container"> <a href="#target">Перейти к секции</a> <h2 id="target">Заголовок секции</h2></div>
<div class="container"> <a href="#target">Перейти к секции</a> <h2 id="target">Заголовок секции</h2> </div>
h2 { scroll-margin-bottom: 2rem;}
h2 { scroll-margin-bottom: 2rem; }
Как пишется
СкопированоСвойство scroll
работает аналогично обычному margin
, только применяется при прокрутке. Можно задать отступы сторонам по отдельности:
.element { scroll-margin-top: 2rem; scroll-margin-bottom: 1rem; scroll-margin-left: 0.5rem; scroll-margin-right: 0.5rem;}
.element { scroll-margin-top: 2rem; scroll-margin-bottom: 1rem; scroll-margin-left: 0.5rem; scroll-margin-right: 0.5rem; }
Шорткат для свойства:
.element { /* Отступ со всех сторон */ scroll-margin: 1rem;}
.element { /* Отступ со всех сторон */ scroll-margin: 1rem; }
Также доступны логические свойства:
.element { scroll-margin-block-start: 2rem; scroll-margin-inline-end: 1rem;}
.element { scroll-margin-block-start: 2rem; scroll-margin-inline-end: 1rem; }
Как понять
СкопированоКогда вы скроллите к элементу — например, нажимаете ссылку <a href
или вызываете element
— браузер старается разместить этот элемент у одной из границ области просмотра. Это может быть верхний, нижний или другой край видимой части окна браузера. Иногда нужно, чтобы элемент не прижимался вплотную к этому краю. Вот тут и нужен scroll
.
scroll
часто используют при фиксированной шапке сайта: элемент, по направлению к которому прокручиваем страницу, может оказаться скрытым под ней. Это можно предотвратить, если использовать scroll
или scroll
.
Подсказки
Скопировано💡 scroll
не влияет на визуальное расположение элементов — только на прокрутку.
💡 scroll
применяется только к элементу, который является целью прокрутки, а не к его родителю.
💡 Хорошо работает вместе со scroll
— так пользователь чётко видит, как элемент «остановился» не вплотную к краю интерфейса.
- Chrome 69, поддерживается
- Edge 79, поддерживается
- Firefox 68, поддерживается
- Safari 11, поддерживается