View() - Fonction CSS

view()

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

Description rapide
Définit une animation pilotée par un défilement (Scroll Driver Animation).
Statut
Problèmes de compatibilité
Utilisable sur
HTML
Valeur initiale
block 0% 0%
Module W3C
Animations pilotées par un défilement
Références (W3C)
Statut du document: WD (document de travail)

Schéma syntaxique de view().

view() - Syntax DiagramSyntax diagram of the view() CSS function. See stylescss.free.fr for details. inline inline block block x x y y length | % length | % {0,2} {0,2}view()view()
Schéma syntaxique de la fonction view().
Cliquez sur les termes du diagram pour plus de précision.

Sur le diagram, les termes en gras sont les termes prédéfinis de CSS, les autres sont décrits ci-dessous :

  • length est une valeur numérique suivie d'une unités de dimension. S'il s'agit d'un pourcentage il est calculé par rapport à la dimension du conteneur défilable, dans la direction du défilement.

Description de la fonction view().

Voici comment se comporte une animation classique (pilotée par le temps), et une animation pilotée par le défilement (Scroll Driven Animation). Pour mettre en oeuvre cette dernière, il faut un container défilant (avec barres de défilement) et un élément qui de déplace à l'intérieur (celui qui sera animé).

Plus précisément, avec view(), l'animation est pilotée par l'affichage d'un élément dans son cadre défilant. Autrement dit, l'animation commence dès que l'élément apparaît dans la fenêtre visible du container défilant, et se termine lorsqu'il le quitte.

1
2
3
4
5
6
7
8
Animation classique
1
2
3
4
5
6
7
8
Animation pilotée par le défilement

La fonction view() est une syntaxe simplifiée qui évite de définir un nom et un axe avec les propriétés view-timeline-name et view-timeline-axis ou la propriété résumée view-timeline.

Pour une présentation plus complète des animations pilotées par un défilement, reportez-vous à notre tutoriel : animations pilotées par un défilement.
Voyez également la propriété view-timeline-inset dans le role est identique à celui de la fonction view().
Il existe une autre sorte d'animations pilotées par le défilement, voyez la page scroll().

La valeur view() 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 view().

  • animation-timeline: view(inline);

    Avec cette syntaxe, view() définit l'axe qui va piloter l'animation. Ce paramètre peut prendre l'une des valeurs suivantes (la valeur par défaut est block) :

    • x : l'axe horizontal.
    • y : l'axe vertical.
    • inline : l'axe dans le sens des lignes.
    • block : l'axe dans le sens des blocs.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    animation-timeline:view(inline)
  • animation-timeline: view(inline 50px 100px);

    Ces deux valeurs sont des valeurs numériques suivies d'une unités de dimension ou des pourcentages, calculés par rapport à la dimension de l'élément défilant, dans le sens de défilement.

    Si une seule valeur est indiquée, la deuxième est considérée comme étant identique.
    Les valeurs 0% 0% couvre l'intégralité de la zone de défilement (ce sont les valeurs par défaut).

    1
    2
    3
    4
    5
    6
    7
    8
    9
    animation-timeline:view(inline 50px 100px)

    Voici comment il faut comprendre ces deux valeurs. La première valeur correspond au début de l'animation, la deuxième à la fin. Dans la mesure où l'animation est pilotée par la barre de défilement, le début de l'animation correspond au début de cette barre, autrement dit à la fin du conteneur défilant. Elle corespondent à deux plages pendant lesquelles il ne se passe rien (l'animation n'est pas jouée). Ces plages sont représentées en gris sur notre schéma. Entre ces zones l'animation se déroule normalement.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    animation-timeline:view(inline 50px 100px)


    Si les deux valeurs se chevauchent (compte-tenu de la longueur de l'élément mobile) l'animation ne se fait pas. Enfin si la valeur de début est négative, l'animation commence avant que l'élément animé ne soit visible. Si c'est la valeur de fin qui est négative, l'animation se termine après que l'élément ait disparu.

    Lorsqu'il est dans l'une de ces zones grises, l'élément prend la valeur définit par animation-fill-mode :

    • none : la valeur est déterminée par les autres propriétés associées à cet élément. Dans notre exemple la couleur est transparente.
    • forwards : lorsque l'animation est terminée, la valeur de fin de l'animation est utilisée. Dans notre exemple, il s'agit du rouge.
    • backwards : avant que l'animation ne commence, la valeur de début de l'animation est utilisée. Dans notre exemple, c'est le vert.
    • both : les deux valeurs sont utilisées.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    animation-timeline:view(inline 50px 100px);
    animation-fill-mode:backwards;
    1
    2
    3
    4
    5
    6
    7
    8
    9
    animation-timeline:view(inline 50px 100px);
    animation-fill-mode:forwards;

Simulateur avec la fonction view()

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

animation-timeline :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

Prise en charge par les navigateurs (compatibilité).

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

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

Remarques :

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

1
Fonction
view
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

Safari

Safari sur IOS

Chrome

Firefox

Samsung Internet

Edge

Androïd Brower

Chrome pour Androïd

Firefox pour Androïd

KaiOS Browser

Opéra mini

Historique de la fonction view().

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é view() 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 :

scroll()
Facilite la mise en œuvre des animations pilotées par un défilement (Scroll Driven Animation).