Вебсправочник
Справочник CSS

scroll-snap-type: направление и строгость привязки прокрутки

Scroll-snap-type включает привязку прокрутки у контейнера. Свойство задаёт ось и строгость поведения, а точки привязки определяются отдельно на дочерних элементах.

Назначение

Scroll-snap-type включает привязку прокрутки у контейнера. Свойство задаёт ось и строгость поведения, а точки привязки определяются отдельно на дочерних элементах.

Как это работает

Proximity оставляет браузеру мягкий выбор ближайшей позиции, mandatory требует привязки при завершении прокрутки. В примере используется горизонтальная ось x и proximity, чтобы ленту можно было спокойно изучить.

Пример

<style>.snap-type-demo{display:grid;grid-auto-flow:column;grid-auto-columns:85%;overflow-x:auto;gap:1rem;scroll-snap-type:x proximity}.snap-type-demo>p{scroll-snap-align:start;background:#e3f0e8;padding:1rem}</style>
<div class="snap-type-demo" tabindex="0" role="region" aria-label="Учебные карточки"><p>Разметка документа</p><p>Оформление блоков</p><p>Проверка результата</p></div>

Что должно получиться

При горизонтальной прокрутке контейнер может останавливаться у начала карточки. Клавиатурный фокус доступен самой области, а карточки остаются обычным текстом без лишних элементов управления.

Граница применения и частая ошибка

Не блокируйте доступ к содержимому больших элементов ради красивой привязки. Проверьте мышь, сенсорный ввод и клавиатуру. Scroll-snap-type не создаёт кнопки переключения, автопрокрутку или готовую карусель с доступной моделью управления.

Самостоятельная проверка

Сравните proximity и mandatory на копии. Увеличьте длину и ширину карточки, затем проверьте доступ ко всем её частям. Отключите привязку и оцените, приносит ли она пользу именно этой ленте.

HTML и CSS можно изменить в песочнице ниже. Она изолирована: JavaScript, внешние ресурсы и отправка форм отключены. Проверки печати, загрузки файлов и сетевых ответов выполняйте в отдельном учебном проекте.

Попробуйте сами

HTML + CSS песочница
РЕЗУЛЬТАТ · ИЗОЛИРОВАННЫЙ ПРЕДПРОСМОТР
Измените код и нажмите «Запустить». JavaScript и внешние запросы отключены.
Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.