Reines CSS-Karussell

Avatar of Chris Coyier
Chris Coyier am

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

Es ist erstaunlich, wie weit HTML und CSS Sie bringen, wenn Sie ein Karussell/eine Diashow erstellen.

  1. Das Ausrichten einiger Boxen in einer horizontalen Reihe mit CSS Flexbox ist einfach.
  2. Das Anzeigen von nur einer Box gleichzeitig mit overflow und der Möglichkeit, sie mit overscroll-behavior wischbar zu machen, ist einfach.
  3. Mit scroll-snap-type können Sie die "Folien" schön ausrichten.
  4. Ein paar #jump-links reichen aus, um die Navigation dafür zu erstellen, die Sie mit scroll-behavior schön und flüssig gestalten können.

Christian Schaefer hat es mit Vor- und Zurück-Buttons sowie einer Auto-Play-Funktion, die stoppt, sobald eine Interaktion beginnt, noch weiter getrieben.

Was das Auto-Play betrifft – es ist ein echter CSS-Trick

  1. Zuerst verschiebe ich langsam die Scroll-Snap-Punkte nach rechts, wodurch sich der Scrollbereich aufgrund der Ausrichtung an ihnen anpasst.
  2. Nachdem die Breite einer ganzen Folie gescrollt wurde, deaktiviere ich das Snapping. Der Scrollbereich ist nun von den Scroll-Snap-Punkten getrennt.
  3. Jetzt lasse ich die Scroll-Snap-Punkte zu ihren ursprünglichen Positionen zurückspringen, ohne dass sie den Scrollbereich zurückziehen.
  4. Dann aktiviere ich das Snapping erneut, was es dem Scrollbereich ermöglicht, zu einem anderen Snap-Punkt zu springen 🤯

Cool.

JavaScript-gesteuerte Diashows (z. B. mit Flickty) können auch sehr schön sein. Es hat einfach etwas Besonderes, dies mit so wenig Code zu erreichen.

Und wo wir gerade davon sprechen, wie weit wir mit HTML und CSS kommen können, hier sind ein paar verwandte Ansätze für Bildkarussells und Galerien.