Jak tworzyć: płynne przewijanie
- Poprzednia strona Rysowanie podczas przewijania
- Następna strona Przesuwanie tła gradientowego
Uczenie się, jak używać CSS do tworzenia płynnych efektów przewijania.
Kliknij mnie, płynne przewijanie do górnej części 1.
Section 1
点击我,平滑滚动至下方第 2 部分。Kliknij mnie, płynne przewijanie do dolnej części 2.
Można włączyć płynne przewijanie na całej stronie:Kliknij link, aby zobaczyć efekt "płynnego" przewijania.
Usunięcie atrybutu scroll-behavior można anulować płynne przewijanie.
Section 2Kliknij mnie, płynne przewijanie do górnej części 1.
Płynne przewijanie Dodaj do elementu <html>
scroll-behavior: smooth
Można włączyć płynne przewijanie na całej stronie:Uwaga:
Można również dodać je do konkretnego elementu/contenera przewijania.
Przykład html { scroll-behavior: smooth;
}
Wsparcie przeglądarki
Liczby w tabeli wskazują na pierwszą wersję przeglądarki, która obsługuje atrybut przewijania. | Chrome | Edge | Firefox | Safari |
---|---|---|---|---|
Liczby w tabeli wskazują na pierwszą wersję przeglądarki, która obsługuje atrybut przewijania. | Chrome | Edge | Firefox | Safari |
Opera | 61.0 | 79.0 | 36.0 | 14.0 |
48.0
Rozwiązania wielo-przeglądarkowego scroll-behavior
Dla przeglądarek, które nie obsługują jQueryOto jak można stworzyć rozwiązanie wielo-przeglądarkowe:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> $("document").ready(function(){ // Dodaj płynne przewijanie do wszystkich linków $("a").on('click', function(event) { // Upewnij się, że this.hash ma wartość przed nadpisaniem domyślnego zachowania if (this.hash !== "") { // Zapobiegaj domyślnemu zachowaniu kliknięcia akordu event.preventDefault(); // Przechowaj wartość hash var hash = this.hash; // Użyj metody animate() jQuery do dodania płynnego przewijania strony // Opcjonalna liczba (800) określa milisekundy potrzebne do przewinięcia do określonej strefy $('html, body').animate({ scrollTop: $(hash).offset().top }, 800, function(){ // Po zakończeniu przewijania, dodaj znak (#) do URL (domyślny zachowanie kliknięcia) window.location.hash = hash; }); } // Koniec if }); }); </script>
Strony związane
Podręcznik:Atrybut scroll-behavior CSS
- Poprzednia strona Rysowanie podczas przewijania
- Następna strona Przesuwanie tła gradientowego