CSS scroll-behavior — плавна прокрутка без JavaScript
CSS властивість scroll-behavior робить прокрутку плавною замість миттєвого стрибка — при переходах за якорями і викликах scrollTo().
Загальний опис
Один рядок замінює бібліотеку плавної прокрутки. Клік по посиланню #section більше не смикає сторінку — вона плавно доїжджає до цілі.
Працює і для програмної прокрутки: element.scrollIntoView() теж стане плавним.
- Порада
-
Обов'язково вимикай плавність для тих, кому рух неприємний: заверни правило в
автор: NagarD@media (prefers-reduced-motion: no-preference).
Синтаксис
scroll-behavior: auto | smooth;
Властивість scroll-behavior може отримувати 2 значень:
| Значення без задання: | auto |
|---|---|
| Наслідує: | Ні |
| Анімується: | Ні |
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| scroll-behavior | 61+ | 36+ | 15.4+ | 48+ | 79+ | - |
| Переглядач | ||||
|---|---|---|---|---|
| scroll-behavior | 61+ | yes | yes | 15.4+ |
Приклади
+ запропонувати свій приклад у пісочниці
Плавна прокрутка до якоря — з повагою до налаштувань користувача.
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;
}
}
Коментарі
Коментарів ще немає — будьте першим!