Was ist CSS Scroll-State Query Generator?
Eine Scroll-State-Container-Query ist eine CSS-Funktion, mit der Sie Elemente basierend auf dem Scroll-Zustand eines Containers gestalten können, ohne JavaScript. Statt JavaScript zur Erkennung der Scroll-Position und zum Umschalten von Klassen zu verwenden, schreiben Sie eine @container scroll-state(...)-Query, die automatisch Styles anwendet, wenn Elemente eingerastet, fixiert oder wenn ein Container scrollbar ist. Dies ermöglicht scrollgesteuerte UI wie aktive Carousel-Indikatoren und Sticky-Header-Schatten ohne JavaScript.
Kurze Antwort
Verwenden Sie CSS-scroll-state()-Queries innerhalb von @container-Regeln, um Elemente basierend auf der Scroll-Position ohne JavaScript zu gestalten. Zielen Sie auf snapped, stuck, scrollable oder overflowing Zustände ab. Erfordert container-type: scroll-state und Chrome 135+. Fügen Sie einen JS-Fallback für browserübergreifende Unterstützung ein.
Last updated: 2026-05-28
Einschränkungen
- Scroll-State-Queries erfordern Chrome 135+ und werden noch nicht in Firefox oder Safari unterstützt. Stellen Sie für den Produktionseinsatz immer einen JavaScript-Fallback bereit.
- Der Container muss container-type: scroll-state gesetzt haben, damit Scroll-State-Queries funktionieren. Dies ist ein separater container-type von size- oder inline-size-Queries.
- Nur eine begrenzte Anzahl von Scroll-Zuständen ist verfügbar: snapped, stuck, scrollable und overflowing. Komplexe scrollgesteuerte Animationen erfordern weiterhin JavaScript oder scrollgesteuerte Animationen (@scroll-timeline).
Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub
So nutzt du dieses Tool
- Wählen Sie den anzuvisierenden Scroll-Zustand: snapped (aktives Snap-Element), stuck (fixiertes Element) oder scrollable (Container mit Überlauf).
- Legen Sie den CSS-Zielselektor und den Scroll-Container-Selektor fest.
- Wählen Sie die Stil-änderung, die angewendet werden soll, wenn der Zustand aktiv ist (Deckkraft, Skalierung, Rahmen, Hintergrund).
- Kopieren Sie das CSS, das Demo-HTML und das optionale JavaScript-Fallback-Snippet.
Wofür du es nutzen kannst
- Das aktuell eingerastete Carousel-Element mit voller Deckkraft hervorheben, während andere abgedunkelt werden.
- Einen Sticky-Header nur dann mit einem Schatten versehen, wenn er am oberen Viewport-Rand fixiert ist.
- Ein scrollbares Panel anders gestalten, wenn es Überlauf hat, im Vergleich zu wenn der gesamte Inhalt passt.