scroll-behavior — CSS | MDN
scroll-behavior
— CSS-свойство, которое определяет поведение прокрутки для любого элемента на странице. Отрабатывается в момент автоматической прокрутки навигационных элементов, либо CSSOM прокручивается API. Любые другие прокручивания, например, те, которые выполняются пользователем, не затрагиваются этим свойством. Если это свойство указано на корневой элемент, оно относится ко всему viewport пространству.
Юзер-агенты могут игнорировать это свойство.
Начальное значение | auto |
---|---|
Применяется к | прокручиваемые блоки |
Наследуется | нет |
Обработка значения | как указано |
Animation type | Not animatable |
/* Ключевые значения */ scroll-behavior: auto; scroll-behavior: smooth; /* Глобальные свойства */ scroll-behavior: inherit; scroll-behavior: initial; scroll-behavior: unset;
Значения
auto
Стандартное поведение прокрутки без эффекта плавности.
smooth
Элемент прокручивается плавно; используется функция тайминга, определяемая юзер-агентом через период времени, отмеченный в нем. Юзер-агенты должны следовать соглашениям платформы, если таковые имеются.
Синтаксис
scroll-behavior =
auto | (en-US)
smooth
HTML
<nav> <a href="#page-1">1</a> <a href="#page-2">2</a> <a href="#page-3">3</a> </nav> <scroll-container> <scroll-page>1</scroll-page> <scroll-page>2</scroll-page> <scroll-page>3</scroll-page> </scroll-container>
CSS
a { display: inline-block; width: 50px; text-decoration: none; } nav, scroll-container { display: block; margin: 0 auto; text-align: center; } nav { width: 339px; padding: 5px; border: 1px solid black; } scroll-container { display: block; width: 350px; height: 200px; overflow-y: scroll; scroll-behavior: smooth; } scroll-page { display: flex; align-items: center; justify-content: center; height: 100%; font-size: 5em; }
Результат
Характеристика | Статус | Комментарий |
---|---|---|
CSS Object Model (CSSOM) View Module | Рабочий черновик | Initial specification |
BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
This page was last modified on by MDN contributors.
scroll-behavior — CSS — Дока
- Кратко
- Пример
- Как понять
- Как пишется
- Подсказки
- На практике
- Татьяна Фокина советует
Кратко
СкопированоУправляет поведением прокрутки внутри блока. Значение smooth
делает её плавной.
Пример
Скопированоhtml { scroll-behavior: smooth;}
html {
scroll-behavior: smooth;
}
Как понять
СкопированоПри переходе по якорной ссылке браузер мгновенно прыгает к целевому блоку. То же самое происходит, если изменять положение полосы прокрутки при помощи JS. Чтобы изменить стандартное поведение можно использовать значение smooth
. Оно сделает прокрутку плавной. Но в остальных ситуациях, например, при прокрутке пользователем колёсика мышки, свойство scroll
не повлияет на поведение браузера.
Как пишется
СкопированоВозможные значения scroll
:
auto
— значение по умолчанию, мгновенная прокрутка;smooth
— плавная прокрутка.
Подсказки
Скопировано💡 Если вы хотите указать scroll
для всей страницы, указывайте его для селектора html
. Для селектора body
свойство не сработает.
💡 Значение scroll
не наследуется — его нужно указывать для каждого блока с собственной полосой прокрутки.
💡 Браузер сам управляет скоростью и временем плавной прокрутки, сейчас нет способа на это влиять.
На практике
СкопированоТатьяна Фокина советует
Скопировано🛠 Пользователи могут по какой-то причине отключить анимацию в системе. Например, их укачивает от плавной прокрутки на странице с большим количеством контента. Чтобы этого не произошло, можно использовать директиву
с проверкой значения prefers
в условии и анимировать прокрутку только тогда, когда пользователь не отключил анимацию.
@media (prefers-reduced-motion: no-preference) { .smooth-scroll { scroll-behavior: smooth; }}
@media (prefers-reduced-motion: no-preference) {
.smooth-scroll {
scroll-behavior: smooth;
}
}
Оценка материалаЕсли вы нашли ошибку, отправьте нам пул-реквест!
Во время отправки формы что-то пошло не так.
←
resize
ctrl + alt + ←
Следующий материал→
scroll-padding
ctrl + alt + →
scroll-behavior — CSS: каскадные таблицы стилей
Свойство CSS scroll-behavior
задает поведение поля прокрутки, когда прокрутка активируется API-интерфейсами навигации или прокрутки CSSOM.
Обратите внимание, что на любые другие прокрутки, например, выполняемые пользователем, это свойство не влияет. Когда это свойство указано для корневого элемента, вместо этого оно применяется к области просмотра. Это свойство, указанное в элементе
, будет , а не распространяются на область просмотра. Пользовательским агентам разрешено игнорировать это свойство.
/* Значения ключевых слов */
поведение прокрутки: авто;
поведение прокрутки: гладкое;
/* Глобальные значения */
поведение прокрутки: наследовать;
поведение прокрутки: начальное;
поведение прокрутки: вернуться;
поведение прокрутки: обратный слой;
поведение прокрутки: не установлено;
Свойство scroll-behavior
указано как одно из значений ключевого слова, перечисленных ниже.
Значения
-
авто
Поле прокрутки прокручивается мгновенно.
-
гладкая
Поле прокрутки плавно прокручивается с использованием функции синхронизации, определяемой агентом пользователя, в течение периода времени, определяемого агентом пользователя. Пользовательские агенты должны следовать соглашениям платформы, если таковые имеются.
Исходное значение авто
Применяется к полям прокрутки Унаследовано нет Расчетное значение как указано Тип анимации Не анимируется 9 0050
поведение прокрутки =
авто |
smooth
Настройка поведения плавной прокрутки
HTML
<дел>
<дел>1дел>
<дел>2дел>
<дел>3дел>
CSS
а { отображение: встроенный блок; ширина: 50 пикселей; текстовое оформление: нет; } навигация, . scroll-контейнер { дисплей: блок; поле: 0 авто; выравнивание текста: по центру; } навигация { ширина: 339 пикселей; отступ: 5px; граница: 1px сплошной черный; } .scroll-контейнер { ширина: 350 пикселей; высота: 200 пикселей; переполнение-у: прокрутка; поведение прокрутки: гладкое; } .scroll-страница { дисплей: гибкий; выравнивание элементов: по центру; выравнивание содержимого: по центру; высота: 100%; размер шрифта: 5em; }
Результат
Спецификация |
---|
Модуль переполнения CSS, уровень 3 # плавная прокрутка |
B Таблицы CD загружаются только в браузере с включенным JavaScript. Включите JavaScript для просмотра данных.
Обнаружили проблему с содержанием этой страницы?
- Отредактируйте страницу на GitHub.
- Сообщить о проблеме с содержимым.
- Просмотрите исходный код на GitHub.
Последний раз эта страница была изменена участниками MDN.
Свойство поведения прокрутки CSS
❮ Назад Полное руководство по CSS Далее ❯
Пример
Добавьте в документ эффект плавной прокрутки:
html {
scroll-behavior: smooth;
}
Определение и использование
Свойство scroll-behavior
определяет
следует ли плавно анимировать положение прокрутки вместо прямого прыжка,
когда пользователь нажимает на ссылку в прокручиваемом поле.
Значение по умолчанию: | авто |
---|---|
Унаследовано: | нет |
Анимация: | нет. Читать про анимированный |
Версия: | Модуль просмотра CSSOM (рабочий проект) |
Синтаксис JavaScript: | объект . style.scrollBehavior="гладкий" Попробуй |
Поддержка браузера
Цифры в таблице указывают на первую версию браузера, которая полностью поддерживает это свойство.
Собственность | |||||
---|---|---|---|---|---|
поведение прокрутки | 61,0 | 79,0 | 36,0 | 14,0 | 48,0 |
Синтаксис CSS
поведение прокрутки: auto|smooth|initial|inherit;
Значения свойств
Значение | Описание |
---|---|
авто | Разрешает прямой переход «эффект прокрутки» между элементами в поле прокрутки. Это по умолчанию |
гладкая | Позволяет плавно анимировать «эффект прокрутки» между элементами в поле прокрутки. |
начальный | Устанавливает для этого свойства значение по умолчанию. Читать о инициал |
унаследовать | Наследует это свойство от родительского элемента. Читать о унаследовать |
❮ Предыдущий Полное руководство по CSS Далее ❯
ВЫБОР ЦВЕТА
Лучшие учебники
Учебник HTMLУчебник CSS
Учебник JavaScript
Учебник How To Tutorial
Учебник SQL
Учебник Python
Учебник W3.CSS
Учебник Bootstrap
Учебник PHP
Учебник по Java
Учебник по C++
Учебник по jQuery
Лучшие ссылки
HTML ReferenceCSS Reference
JavaScript Reference
SQL Reference
Python Reference
W3.CSS Reference
Bootstrap Reference
PHP Reference
HTML Colors
Java Reference
Angular Reference
jQuery Reference
900 84 Лучшие примеры Примеры HTML
Примеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3.