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
Standard
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.
Per grammar : sérialisation dans l'ordre de la syntaxe.
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, which defines the scope of the element used as an anchor (anchor positioning). none none all all --id --id , ,anchor-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.
Télécharger le schéma.

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

  • --id est un identifiant défini par anchor-name. Il doit commencer par un double tiret.
  • Plusieurs ID peuvent être spécifiés, séparés par une virgule.

Description de la propriété anchor-scope.

La propriété anchor-scope intervient dans le domaine du positionnement par ancrage. Elle modifie la portée de la propriété anchor-name. Elle est utile lorsque plusieurs élément ont le même d=identifiant d'ancre.

Pour que la propriété anchor-scope fonctionne correctement, l'élément positionné doit être un enfant de l'élément qui sert d'ancre. Le positionnement par ancrage peut très bien fonctionner sans cela : associer un élément à une ancre sans qu'il y ait de lien de parenté entre les deux. Mais alors les ancres doivent avoir un identifiant unique, ce qui n'est pas toujours possible lorsque les éléments sont générés de façon automatique.

Prenons l'exemple d'une série d'images représentant des moyens de transports. Chaque image reçoit une infobulle. Toutes ces images ont le même identifiant d'ancre. 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.

🚍
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. Vous trouverez aussi sur cette page un tutoriels sur 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à limité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: revert-layer; anchor-scope: revert-rule; anchor-scope: unset;

    Les valeurs communes sont présentées sur ces pages : initial, inherit, revert, revert-layer, revert-rule, 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.

🍉
Pastèque
🍓
Fraise
🍅
Tomate

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

L'identifiant de position défini sur chacune des trois premières images est --demo1. Les suivantes ont reçu --demo2. Chacun des libellés fait déjà référence à l'un ou l'autre des identifiants pour se positionner. Il ne reste plus qu'à définir anchor-scope.

anchor-scope :
🍇
Raisin
🍌
Banane
🥑
Avocat
🥝
Kiwi
🥭
Mangue
🍋
Citron
 

Compatibilité des navigateurs avec anchor-scope.

La propriété anchor-scope est bien reconnue par tous les navigateurs modernes.

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) Samsung Internet ne supporte pas la propriété position-anchor avec la valeur normal.
Et ne supporte pas complètement la propriété anchor-visibility.

(2) Android Browser ne supporte pas la propriété position-anchor avec la valeur normal.
Il ne supporte pas non plus complètement la propriété anchor-visibility.

(3) Ne supporte pas totalement la propriété anchor-visibility.

(4) Firefox ne permet pas l'animation des fonctions anchor() et anchor-size().
Il ne supporte pas non plus totalement la propriété anchor-visibility.

(5) Opéra ne supporte pas la propriété position-anchor avec la valeur normal.
Il ne supporte pas non plus complètement la propriété anchor-visibility.

1
Positionnement
par ancre
2
Propriété
anchor-scope
Estimation de la prise en charge globale.
86%
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

Androïd Brower

Chrome

Chrome pour Androïd

Edge

Firefox

Firefox pour Androïd

KaiOS Browser

Opéra

Safari

Safari sur IOS

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 suivantes sont également décrites dans ce module.

Propriétés :

anchor-name
Définit un identifiant pour l'élément qui peut dès lors devenir une ancre, dans le cadre du positionnement pas ancrage.
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).