Outils CSS

Gratuit CSS Scroll-State Query Generator

Generate CSS scroll-state() container queries for styling snapped, stuck, or scrollable elements. Includes JavaScript fallback for cross-browser support.

Chargement de l'outil...

Qu'est-ce que CSS Scroll-State Query Generator ?

Une requete de conteneur scroll-state est une fonctionnalite CSS qui permet de styliser les elements en fonction de l'etat de defilement d'un conteneur. Au lieu d'utiliser JavaScript pour detecter la position de defilement et basculer des classes, vous ecrivez une requete @container scroll-state(...) qui applique automatiquement les styles lorsque les elements sont accroches (snapped), bloques (stuck) ou lorsqu'un conteneur est defilable.

Réponse rapide

Utilisez les requetes CSS scroll-state() dans les regles @container pour styliser les elements en fonction de la position de defilement sans JavaScript. Ciblez les etats snapped, stuck, scrollable ou overflowing. Necessite container-type: scroll-state et Chrome 135+.

Last updated: 2026-05-28

Limites

  • Les requetes scroll-state nécessitent Chrome 135+ et ne sont pas encore supportees dans Firefox ou Safari. Fournissez toujours un repli JavaScript.
  • Le conteneur doit avoir container-type: scroll-state defini pour que les requetes scroll-state fonctionnent.
  • Seul un ensemble limite d'etats de defilement est disponible : snapped, stuck, scrollable et overflowing.

Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub

Comment utiliser cet outil

  1. Selectionnez l'etat de defilement a cibler : snapped (element de snap actif), stuck (element sticky) ou scrollable (conteneur avec overflow).
  2. Definissez le selecteur CSS cible et le selecteur du conteneur de defilement.
  3. Choisissez le changement de style a appliquer lorsque l'etat est actif.
  4. Copiez le CSS, le HTML de demonstration et l'extrait de repli JavaScript optionnel.

A quoi il sert

  • Mettre en surbrillance l'element de carrousel actuellement accroche avec une opacite complete tout en diminuant les autres.
  • Ajouter une ombre a un en-tete sticky seulement lorsqu'il est bloque en haut du viewport.
  • Styliser un panneau defilable differemment quand il a un overflow vs quand tout le contenu tient.

Cas d'usage

Exemples concrets

Exemple

Indicateur de carrousel actif

Un carrousel affiche des cartes produit. Utilisez scroll-state(snapped: true) pour appliquer une opacite complete et un contour de surbrillance a la carte actuellement accrochee.

Exemple

Ombre d'en-tete sticky

Une page a un en-tete sticky. Utilisez scroll-state(stuck: true) sur l'en-tete pour ajouter une box-shadow quand il devient bloque.

Erreurs frequentes

  • Utiliser scroll-state() sans definir container-type: scroll-state sur le conteneur de defilement - la requete n'a aucun effet.
  • S'attendre a ce que scroll-state() fonctionne dans tous les navigateurs - c'est une fonctionnalite Chrome 135+. Fournissez toujours un repli JS.
  • Utiliser les requetes scroll-state sur des elements qui n'atteignent jamais l'etat cible.

Vérification

  1. Faites defiler le conteneur et verifiez que les elements styles se mettent a jour correctement.
  2. Testez avec le repli JavaScript desactive pour confirmer que l'approche CSS-only fonctionne dans Chrome 135+.

FAQ

Questions sur CSS Scroll-State Query Generator

Quels etats scroll-state() supporte-t-il ?

Actuellement supportes : snapped (element est la cible de snap active), stuck (element sticky est bloque a une limite), scrollable (le conteneur a un overflow defilable) et overflowing (le contenu depasse du conteneur).

En quoi scroll-state() est-il different des evenements de defilement JavaScript ?

Les requetes scroll-state s'executent sur le thread du compositeur, pas sur le thread JavaScript principal. Elles sont plus performantes et ne causent pas de saccades.

Outils lies

Autres outils outils css

A essayer aussi

A essayer aussi