Spec-Zone.ru › CSS

scroll-behavior

Базовая Широко доступная

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 2022 года.

  • Узнать больше
  • См. полную совместимость
  • Отправить отзыв

Свойство scroll-behavior CSS задаёт поведение области прокрутки при прокрутке, инициированной API навигации или API прокрутки CSSOM.

Попробуйте

Обратите внимание, что любые другие прокрутки, например, выполняемые пользователем, этим свойством не затрагиваются. При указании этого свойства на корневом элементе оно применяется к области просмотра. Это свойство, указанное на элементе body , не распространяется на область просмотра.

Пользовательские агенты могут игнорировать это свойство.

Синтаксис

/* Keyword values */
scroll-behavior: auto;
scroll-behavior: smooth;

/* Global values */
scroll-behavior: inherit;
scroll-behavior: initial;
scroll-behavior: revert;
scroll-behavior: revert-layer;
scroll-behavior: unset;

Свойство scroll-behavior задаётся одним из ключевых значений, перечисленных ниже.

Значения

auto

Область прокрутки прокручивается мгновенно.

smooth

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

Формальное определение

Начальное значение auto
Применяется к областям прокрутки
Наследуется нет
Вычисленное значение как указано
Тип анимации Не анимируемо

Формальный синтаксис

scroll-behavior = 
auto |
smooth

Примеры

Установка плавного поведения прокрутки

HTML

<nav>
  <a href="#page-1">1</a>
  <a href="#page-2">2</a>
  <a href="#page-3">3</a>
</nav>
<div class="scroll-container">
  <div class="scroll-page" id="page-1">1</div>
  <div class="scroll-page" id="page-2">2</div>
  <div class="scroll-page" id="page-3">3</div>
</div>

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 {
  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 Overflow Модуль Уровень 3
# smooth-scrolling

Совместимость браузеров

Рабочий стол Мобильный
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
scroll-behavior 61 79 36 48 15.4 61 36 45 15.4 8.0 61
auto 61 79 36 48 15.4 61 36 45 15.4 8.0 61
smooth 61 79 36 48 15.4 61 36 45 15.4 8.0 61

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API