поведение прокрутки | CSS-трюки — CSS-трюки
DigitalOcean предоставляет облачные продукты для каждого этапа вашего путешествия. Начните с бесплатного кредита в размере 200 долларов США!
Свойство scroll-behavior
в CSS позволяет нам определить, перемещается ли место прокрутки браузера в новое место или плавно анимируется переход, когда пользователь щелкает ссылку, которая нацелена на закрепленную позицию в поле прокрутки.
HTML { поведение прокрутки: гладкое; }
Подробное объяснение
Подожди, подожди, о чем мы говорим? Это элемент с содержимым, выходящим за его границы.
См. Поле прокрутки пера от CSS-Tricks (@css-tricks) на CodePen.
Обратите внимание на то, что поле в приведенной выше демонстрации имеет фиксированную высоту 200 пикселей
? Любой контент, который превышает эту высоту, находится за пределами поля, и мы добавили overflow-y: scroll
, чтобы сделать этот дополнительный контент доступным с помощью вертикальной прокрутки. Это то, что мы подразумеваем под прокруткой.
Теперь предположим, что мы добавим навигацию в верхнюю часть окна, где каждая ссылка нацелена на три раздела содержимого:
См. Поле прокрутки пера с навигацией от CSS-Tricks (@css-tricks) на CodePen.
Каждая ссылка ведет пользователя непосредственно к различным разделам контента внутри поля прокрутки. По умолчанию этот переход между ними является резким скачком.
Переход между содержимым по умолчанию резкий и внезапный. Такой прыжок может вызвать раздражение. Вот где поведение прокрутки 9Появляется 0006 и позволяет установить плавный переход с прокруткой. Такого рода вещи использовались для причудливого Javascript, но
scroll-behavior
даст нам возможность сделать это изначально в CSS, как только поддержка браузера улучшится.
Синтаксис
.модуль { поведение прокрутки: [авто | гладкий ]; }
Values
Свойство scroll-behavior
принимает два значения, которые по существу включают и выключают функцию плавной прокрутки.
-
авто
(по умолчанию): Это значение разрешает резкий переход между элементами в поле прокрутки. -
smooth
: В соответствии со своим названием, это значение представляет собой плавный анимированный переход между элементами в поле прокрутки.
Демонстрация
Следующая демонстрация будет работать только в Chrome 61+, Firefox 36+ и Opera 48+ на момент написания этой статьи.
См. Поле прокрутки пера с `scroll-behavior` от CSS-Tricks (@css-tricks) на CodePen.
Browser Support
Desktop
Chrome | Firefox | IE | Edge | Safari |
---|---|---|---|---|
61 | 36 | No | 79 | 15.4 |
Мобильный телефон/планшет
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
110 | 110 | 109 | 15.4 |
Дополнительная информация
- Модуль просмотра CSSOM: проект спецификации, включая свойство CSS. Текущий черновик включает в себя рекомендацию переместить поведение прокрутки