Scroll() - Fonction CSS

scroll()

Résumé des caractéristiques de la fonction scroll()

Description rapide
Facilite la mise en œuvre des animations pilotées par un défilement (Scroll Driven Animation).
Statut
Standard
Utilisable sur
HTML
Pourcentages
Ne s'appliquent pas.
Module W3C
Animations pilotées par un défilement
Références (W3C)
Statut du document: WD (document de travail)

Schéma syntaxique de scroll().

scroll() - Syntax DiagramSyntax diagram of the scroll() CSS function. See stylescss.free.fr for details. block block inline inline x x y y root root nearest nearest self selfscroll()scroll()
Schéma syntaxique de la fonction scroll().
Cliquez sur les termes du diagram pour plus de précision.

Description de la fonction scroll().

scroll() intervient dans le domaine des animations pilotées par un défilement (Scroll Driven Animation). Elle permet de se dispenser des propriétés scroll-timeline-name, scroll-timeline-axis et de la propriété résumée scroll-timeline.

La fonction définit l'axe et l'élément container à considérer pour cette animation. Elle est utilisée avec la propriété animation-timeline sur l'élément animé.

Une animation pilotée par le défilement ressemble à ça : la position de l'aiguille est conditionnée par la position de la barre de défilement (cela ne fonctionne pas sur tous les navigateurs, en particulier sur Firefox  ).

ÉchelleAiguille
 

Pour une présentation plus complète des animations pilotées par un défilement, reportez-vous à la page sur les animations pilotées par un défilement.

La valeur scroll() peut être utilisée avec les propriétés suivantes :

  • animation-timeline : Associe l'animation à autre chose que le temps, par exemple le défilement d'un élément.

Syntaxes de la fonction scroll().

  • animation-timeline: scroll(inline nearest);

    Avec cette syntaxe complète, scroll() définit l'axe et l'élément qui va piloter l'animation.

    L'axe peut prendre l'une des valeurs suivantes :

    • x : l'axe horizontal.
    • y : l'axe vertical.
    • inline : l'axe dans le sens des lignes. Dépendant du mode d'écriture.
    • block : l'axe dans le sens des blocs. Dépendant du mode d'écriture.

    L'autre paramètre définit l'élément qui va piloter l'animation. Cet élément doit proposer des barres de défilement (propriété overflow). Les valeurs autorisées sont :

    • root : la page.
    • nearest : le parent défilable le plus proche en remontant.
    • self : l'élément lui même.
    Utilisez l'ascenseur horizontal pour déclencher l'animation (la couleur de l'arrière-plan est de plus en plus rouge).
    animation-timeline:scroll(inline nearest)
  • animation-timeline: scroll(block root);

    L'animation est déclenchée par le scrolling de la page.

    Faites défiler la page verticalement pour déclencher l'animation
    animation-timeline:scroll(block root)
  • animation-timeline: scroll(inline self);

    C'est l'élément qui reçoit l'animation qui est en même temps le cadre défilant.

    Utilisez l'ascenseur pour démarrer l'animation
    animation-timeline:scroll(inline self)

Simulateur avec la fonction scroll()

Pour ce simulateur, l'animation consiste à faire évoluer l'épaisseur du contour de l'élément (outline).

Ne fonctionne pas sur Firefox  , à moins d'une mise à jour.

animation-timeline :
Utilisez l'une ou l'autre des barres de défilement pour activer l'animation.

Lorsque vous choisissez la barre en correspondance avec la fonction scroll(), vous verrez l'effet sur la bordure.

Support de la fonction scroll().

Sur Firefox   toutes les fonctionnalités relatives aux animations pilotées par un défilement sont désactivées par défaut. Il est néanmoins possible de les activer en positionnant le flag layout.css.scroll-driven-animations.enabled à true (accéder aux flags sur Firefox).

Colonne 1
Support de la fonction scroll() utilisée avec la propriété animation-timeline.

Remarques :

(1) Désactivé par défaut. Peut être activé en positionnant le flag layout.css.scroll-driven-animations.enabled à true.

1
Fonction
scroll()
Estimation de la prise en charge globale.
74%

Navigateurs sur ordinateurs :

Navigateurs sur mobiles :

Navigateurs obsolètes ou marginaux :

Internet Explorer

UC Browser pour Androïd

Opéra Mobile

QQ Browser

Baidu Browser

Opéra

Samsung Internet

Firefox pour Androïd

Edge

Firefox

Chrome pour Androïd

Androïd Brower

Safari

Safari sur IOS

Chrome

KaiOS Browser

Opéra mini

Historique de la fonction scroll().

Voir aussi, à propos des animations pilotées par un défilement.

Les spécifications CSS éditées par le W3C sont organisées en modules. La propriété scroll() fait partie du module Scroll-driven Animations. Les définitions suivantes sont également décrites dans ce même module.

Propriétés :

animation-range
Spécifie le point de départ et le point final de l'animation, dans le cas d'une animation pilotée par un défilement.
animation-range-end
Spécifie le point final de l'animation, dans le cas d'une animation pilotée par un défilement.
animation-range-start
Spécifie le point de départ de l'animation, dans le cas d'une animation pilotée par un défilement.
scroll-timeline
Propriété résumée définissant les paramètres d'une animation pilotée par le défilement.
scroll-timeline-axis
Indique suivant quel axe (vertical ou horizontal) doit se synchroniser l'animation pilotée par le défilement.
scroll-timeline-name
Définit un identifiant pour une animation synchronisée sur le défilement.
timeline-scope
Définit la portée d'une ligne de temps pour une animation pilotée par le défilement.
view-timeline
Propriété résumée définissant les paramètres d'une animation pilotée par le défilement.
view-timeline-axis
Définit quel axe (vertical ou horizontal) est utilisé par une animation pilotée par le défilement.
view-timeline-inset
Spécifie un ajustement de la boite de défilement dans le cadre d'une animation pilotée par le défilement.
view-timeline-name
Définit un identifiant pour une animation pilotée par le défilement.

Fonctions :

view()
Définit une animation pilotée par un défilement (Scroll Driver Animation).