Anchor-scope - Propriété CSS

anchor-scope

Résumé des caractéristiques de la propriété anchor-scope

Description rapide
Définit la portée de la propriété anchor-name.
Statut
Problèmes de compatibilité
Utilisable sur
HTML
Valeurs prédéfinies
none | all
Pourcentages
Ne s'appliquent pas.
Valeur initiale
none
Héritée par défaut
Non.
Discrète : lors d'une animation, la propriété anchor-scope passe d'une valeur à l'autre sans transition.
Module W3C
Module CSS - Positionnement par ancrages
Statut du document: WD (document de travail)

Schéma de la syntaxe de anchor-scope.

anchor-scope property - Syntax diagramSyntax diagram of the anchor-scope CSS property. See stylescss.free.fr for details. none none all all --id --idanchor-scope:;anchor-scope:;
Schéma syntaxique de la propriété anchor-scope.
Cliquez sur les liens du schéma pour plus de précisons sur les valeurs.

Description des termes utilisés sur le schéma :

  • --id est un identifiant qui doit commencer par un double tiret.

Description de la propriété anchor-scope.

Cette propriété est expérimentale. Pour l'instant peu de navigateurs la reconnaissent.
Cette page sera complétée ultérieurement.

La propriété anchor-scope intervient dans le domaine du positionnement par ancrage. Elle modifie la portée de la propriété anchor-name.

Prenons l'exemple d'une série d'images représentant des moyens de transports. Chaque image reçoit une infobulle. Sur ce premier exemple (sans utilisation de anchor-scope) on voit que toutes les infobulles se superposent car elles se positionnent toutes par rapport à la dernière image.
Ces exemples ne fonctionne pas correctement sur Firefox   pour le moment.

🚍
Autobus
🚂
Train
🛫
Avion


Sur ce deuxième exemple, la propriété anchor-scope a été utilisée, en limitant la portée à chacune des images. Les infobulles sont correctement positionnées.

🚍
Autobus
🚂
Train
🛫
Avion



Voyez aussi la propriété anchor-name pour une synthèse des propriétés utiles pour le positionnement par ancrage.

Valeurs pour anchor-scope.

  • anchor-scope: none;

    Pas de changement dans la portée des identifiants d'ancrage.

  • anchor-scope: all;

    Spécifie que toutes les identifiants de positionnement sont maintenant limités à l'arbre des descendants de l'élément qui reçoit cette propriété. Une exception cependant : les identifiants qui sont déjà imités par une propriété anchor-scope.

  • anchor-scope: --id;

    Spécifie la portée de l'identifiant --id. Celle-ci est maintenant limitée à l'élément qui reçoit cette propriété et à son sous-arbre (arbre des descendants).

    Plusieurs id peuvent être spécifiés, en les séparant par une virgule.

  • anchor-scope: initial; (none) anchor-scope: inherit; anchor-scope: revert; anchor-scope: revertLayer; anchor-scope: unset;

    Les valeurs communes sont présentées sur ces pages : initial, inherit, revert, revert-layer, unset.

Exemple d'animation de anchor-scope.

La propriété anchor-scope peut être animé dans le type d'animation discrete, c'est à dire qu'elle passe d'une valeur à l'autre sans transition.

(ceci ne fonctionne pour le moment pas sur Firefox  ).

🍉
Pastèque
🍓
Fraise
🍅
Tomate

Exemple interactif avec la propriété anchor-scope.

L'identifiant de position défini sur chacune des images est --demo. Chacun des libellés fait déjà référence à cet identifiant pour se positionner. Il ne reste plus qu'à définir anchor-scope.

(ceci ne fonctionne pas sur Firefox   pour le moment (2025)).

anchor-scope :
🍇
Raisin
🍌
Banane
🥑
Avocat

Compatibilité des navigateurs avec anchor-scope.

Colonne 1
Prise en charge générale du positionnement par ancrage.
Colonne 2
Prise en charge de la propriété anchor-scope.

Remarques :

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

1
Positionnement
par ancre
2
Propriété
anchor-scope
Estimation de la prise en charge globale.
71%
69%

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

Samsung Internet

Chrome

Edge

Safari

Opéra

Firefox

Chrome pour Androïd

Safari sur IOS

Androïd Brower

Firefox pour Androïd

KaiOS Browser

Opéra mini

Histoire de la propriété anchor-scope.

  • Module CSS - Positionnement par ancrages - Niveau 1

    Le positionnement absolu par rapport à la page ou à l'écran peut s'avérer limité lorsque l'on souhaite positionner un élément par rapport à une autre.
    Cette spécification décrit les propriétés nécessaires pour réaliser cela, ainsi que les fonctions anchor() and anchor-size() qui permettent de fixer la position et les dimensions d'un élément en fonction d'un autre.
    Elle décrit également comment tester plusieurs possibilités de positionnement pour s'adapter au contexte, en particulier à l'état du défilement de la page.

    Concernant anchor-scope. Première définition de la propriété anchor-scope.
    WD
    29 Juin 2023
    Document de travail.
    CR
    PR
    REC

Voir aussi, à propos des positionnement par ancrage.

Le positionnement par ancrage est une fonctionnalité relativement récente, décrite dans le module de spécification module CSS - Positionnement par ancrages. Les propriétés suivants sont également décrites dans ce module.

Propriétés :

anchor-name
Défiinit un identifiant pour l'élément qui peut dès lors devenir une ancre.
Anchor-scope
Définit la portée de la propriété anchor-name.
position-anchor
Définit par rapport à quelle ancre doit se positionner l'élément.
position-area
Définit comment se positionne un élément par rapport à l'ancre (au dessus, à côté, etc.).
position-try
Propriété raccourcie qui résume les valeurs pour position-try-fallbacks et position-try-order.
position-try-fallbacks
Spécifie une liste de position pour l'élément positionné (positionnement par ancrage) afin que le navigateur puisse choisir celle qui est le plus adapté à un moment donné, compte tenu des défilements ou des zooms.
position-try-order
Définit un ordre différent pour les valeurs énumérées par position-try-fallbacks.
position-visibility
Définit si l'élément positionné est visible ou pas, dans le contexte d'un positionnement par ancrage.

Fonctions :

anchor()
Renvoie la position d'un des bords de l'élément désigné comme ancre (positionnement par ancrage).
anchor-size()
Renvoie la teille (hauteur ou largeur) de l'élément désigné comme l'ancre (positionnement par ancrage).

Directives :

@position-try
Définit un ensemble de règles pour chacune des position d'ancrage et leur donne un nom (positionnement par ancrage).