Właściwość CSSInterakcja i inne

overscroll-behavior

Zapobiega przewijaniu całej strony po dojściu do końca przewijanego elementu.

Wartość domyślna
auto
Dziedziczona
Nie
Animowalna
nie
Dotyczy
kontenery przewijania
JavaScript
element.style.overscrollBehavior = "contain"
Na tej stronie

Przykład

#
CSS
.chat-messages {
  max-height: 320px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
Podgląd

Definicja i zastosowanie

#

Gdy przewijasz listę wewnątrz strony i dojdziesz do jej końca, dalsze przewijanie domyślnie przechodzi na stronę pod spodem. To zjawisko to łańcuchowanie przewijania. Właściwość overscroll-behavior: contain je zatrzymuje.

Przydaje się w oknach czatu, rozwijanych menu, panelach bocznych i modalach: przewijanie ich treści nie przesuwa strony w tle.

Wartość none dodatkowo wyłącza efekty przewijania za krawędź, na przykład odbicie na iPhonie albo odświeżanie strony gestem przeciągnięcia w dół na Androidzie.

Składnia

#
Składnia
overscroll-behavior: auto | contain | none (1–2 wartości);

Wartości

#
  • auto

    Po dojściu do końca listy przewija się zewnętrzny kontener.
  • contain

    Przewijanie zatrzymuje się na liście.
  • none

    Jak contain, bez efektów przewijania za krawędź.

Wartości w praktyce

#

auto

Po dojściu do końca listy przewija się zewnętrzny kontener.
.demo { overscroll-behavior: auto; }

contain

Przewijanie zatrzymuje się na liście.
.demo { overscroll-behavior: contain; }

none

Jak contain, bez efektów przewijania za krawędź.
.demo { overscroll-behavior: none; }

Obsługa przeglądarek

#

Szeroko dostępne

Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.

  • Chrome
  • Edge
  • Firefox
  • Safari

Dobre praktyki

#
  • Każdy przewijany panel w modalu powinien mieć overscroll-behavior: contain.
  • Ustawienie none na elemencie body wyłącza odświeżanie strony gestem w aplikacjach webowych.

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.