Wie erstelle ich: flüssige Scrollbewegung

Lernen Sie, wie Sie mit CSS flüssige Scroll-Effekte erstellen.

Glatter Scrollen

Section 1
Klicken Sie auf mich, glatter Scrollen zum unteren Teil 2.

Klicken Sie auf den Link, um das "glatte" Scrollen zu sehen.

Hinweis:Entfernen Sie das scroll-behavior-Attribut, um das glatte Scrollen aufzuheben.

Glatter Scrollen

Fügen Sie für das <html>-Element hinzu scroll-behavior: smooth Full-page smooth scrolling kann aktiviert werden:

Hinweis:Es kann auch zu bestimmten Elementen/Scroll-Containern hinzugefügt werden.

Beispiel

html {
  scroll-behavior: smooth;
}

Versuchen Sie es selbst

Browser-Unterstützung

Die in der Tabelle angegebenen Zahlen beziehen sich auf die erste Browserversion, die die Scroll-Verhaltensattribut vollständig unterstützt.

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
61.0 79.0 36.0 14.0 48.0

Cross-Browser-Lösungen

Für Browser, die nicht scroll-behavior Browsertypen, können Sie JavaScript oder JavaScript-Bibliotheken (wie jQuery)um eine Lösung für alle Browser zu erstellen:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$("document").ready(function(){
  // Add smooth scrolling to all links
  $("a").on('click', function(event) {
    // Ensure that this.hash has a value before overriding the default behavior
    if (this.hash !== "") {
      // Prevent the default anchor click behavior
      event.preventDefault();
      // Store hash value
      var hash = this.hash;
      // Use jQuery's animate() method to add smooth page scrolling
      // Optional number (800) specifies the milliseconds required to scroll to the specified area
      $('html, body').animate({
        scrollTop: $(hash).offset().top
      }, 800, function(){
        // Nach dem Abschließen des Scrolleffekts wird das Hash (#) der URL hinzugefügt (Standardklickverhalten)
        window.location.hash = hash;
      );
    } // Ende if
  );
);
</script>

Versuchen Sie es selbst

相关页面

参考手册:CSS scroll-behavior 属性