Möchten Sie zum Anfang der Seite scrollen?

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Vielleicht ist der einfachste Weg, dem Benutzer dies anzubieten, ein Link, der auf eine ID im <html>-Element verweist. Also so etwas wie…

<html id="top">
  <body>
     <!-- the entire document -->
     <a href="#top">Jump to top of page</a>
  </body>
</html>

Aber wir haben hier ein paar Optionen.

Wenn Sie möchten, dass es sanft nach oben scrollt, können Sie das auch in CSS tun, wenn Sie möchten

html {
  scroll-behavior: smooth;
}

Beachten Sie, dass die Platzierung einer Eigenschaft auf dem HTML-Element wie diese ein alles umfassendes Verhalten ist, über das Sie nicht viel Kontrolle haben.

In diesem Fall verlinken wir auch nicht auf ein fokussierbares Element, was bedeutet, dass sich der Fokus nicht ändert. Das ist wahrscheinlich wichtig, also wäre das besser

<html>
  <body>
     <a id="top"></a>
     <!-- the entire document -->
     <a href="#top">Jump to top of page</a>
  </body>
</html>

Es ist besser, weil der Fokus auf das Anker-Tag wechselt, was gut für Menschen ist, die eine Tastatur oder assistierende Technologie verwenden.

Diese erfordern jedoch Klicks. Möglicherweise müssen Sie das Scrollen über JavaScript auslösen, in diesem Fall

window.scrollTo(0, 0);

…ist eine sichere Methode, um das Fenster (oder jedes andere Element) wieder nach oben zu scrollen. Das Scrollverhalten davon wird ebenfalls durch CSS bestimmt, aber wenn Sie das nicht tun, können Sie die Glätte in JavaScript erzwingen

window.scroll({
  top: 0, 
  left: 0, 
  behavior: 'smooth'
});

Für eine umfassendere Information zum sanften Scrollen, haben wir eine Seite dafür.