CSS scroll-behavior — плавна прокрутка без JavaScript
CSS властивість scroll-behavior робить прокрутку плавною замість миттєвого стрибка — при переходах за якорями і викликах scrollTo().
автор: NagarD
Загальний опис
Один рядок замінює бібліотеку плавної прокрутки. Клік по посиланню #section більше не смикає сторінку — вона плавно доїжджає до цілі.
Працює і для програмної прокрутки: element.scrollIntoView() теж стане плавним.
автор: NagarD
- Порада
-
Обов'язково вимикай плавність для тих, кому рух неприємний: заверни правило в @media (prefers-reduced-motion: no-preference).
автор: NagarD
Синтаксис
scroll-behavior: auto | smooth;
Властивість scroll-behavior
може отримувати 2 значень:
-
auto
-
Миттєвий стрибок.
автор: NagarD
-
smooth
-
Плавна анімована прокрутка.
автор: NagarD
Переглядачі
Приклади
+ запропонувати свій приклад у пісочниці
Плавна прокрутка до якоря — з повагою до налаштувань користувача.
HTML
<a href="#bottom">Донизу</a>
<div style="height: 150vh"></div>
<h2 id="bottom">Ви на місці</h2>
CSS
@media (prefers-reduced-motion: no-preference) {
html {
scroll-behavior: smooth;
}
}
автор: NagarD