Кратко
СкопированоСвойство 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, поддерживается