Anchor-size() - Fonction CSS
Résumé des caractéristiques de la fonction anchor-size()
Description de la fonction anchor-size().
anchor-size() n'est pas encore reconnue par tous les navigateurs (voir le
tableau de compatibilité ci-dessous. Les exemples de la page ne fonctionneront que sur les navigateurs qui reconnaissent la fonction.
Le positionnement par ancrage consiste à positionner un élément par rapport à un autre. L'élément qui sert de référence est appelé l'ancre.
On lui attribue un identifiant avec la propriété anchor-name. La propriété position-anchor, attribué à l'élément
positionné, fait le lien avec l'ancre.
Voici un exemple de code CSS :
#anchor {
anchor-name:--demo;
}
#target {
position: absolute;
position-anchor:--demo;
top: anchor(bottom);
left: anchor(right);
width: anchor-size(width);
}
La fonction anchor() utilisée dans l'exemple positionne l'élément, tandis que la fonction anchor-size(), attribuée à des
propriétés telles que width ou height permet de définir les dimensions de l'élément positionné par rapport à
celles de l'ancre.
Cette fonction renvoie donc une dimension, ce qui permet de l'utiliser avec les fonctions calc(), minmax(), etc.
Pour de plus amples renseignements sur le positionnement par ancrage, reportez vous aux pages anchor-name, ou à la page sur la fonction anchor().
La valeur anchor-size() peut être utilisée avec les propriétés suivantes :
block-size: Définit la dimension d'un l'élément suivant la direction des blocs. Pour les langues latines, cette propriété logique est équivalente àheight.height: Définit la hauteur de l'élément.inline-size: Définit la dimension de l'élément dans la direction des lignes. Pour les langues latines cette propriété est équivalente àwidth.inset: Définit la position de l'élément lorsque celui-ci est positionné autrement qu'en statique. Raccourci pourtop,right,bottometleft.inset-block: Définit l'emplacement d'un élément positionné, dans la direction des blocs. Raccourci pourinset-block-startetinset-block-end.inset-inline: Définit l'emplacement d'un élément positionné dans la direction des lignes. Raccourci pourinset-inline-startetinset-inline-end.margin: Résumé des quatre marges.margin-block: Définit la dimension des marges dans la direction des blocs compte-tenu du mode d'écriture.margin-inline: Définit la dimension des marges au début et à la fin des lignes, compte tenu du mode d'écriture.max-height: Définit une limite à la hauteur maximale de l'élément.max-width: Définit la largeur maximale de l'élément.min-height: Définit la hauteur minimale de l'élément.min-width: Définit la largeur minimale de l'élément.width: Définit la largeur de l'élément.
Ainsi que toutes les propriétés détaillées correspondantes (inset-block-start par exemple).
Syntaxes de la fonction anchor-size().
- width: anchor-size(width); height: anchor-size(height);
Ces deux propriétés définissent la largeur (
width) et la hauteur (height) de l'élément positionné conformément à celles de l'ancre.
Vous pouvez ajuster la taille de l'ancre.⚓width:anchor(width);height:anchor(height); - inline-size: anchor-size(inline); block-size: anchor-size(block);
Les valeurs
blocketinlinesont sensibles au mode d'écriture en fonction de la langue. Mais sinon, elles se comportent commeheightetwidth.Mode d'écriture :
⚓block-size:anchor(block);
inline-size:anchor(inline); - width: anchor-size(--id width, 100px); height: anchor-size(--id height, 50px); i d
Il est possible de spécifier un autre identifiant que celui qui est normalement affecté à l'ancre. Néanmoins l'identifiant défini pour positionner l'élément reste valide. Il ne faut donc par supprimer la propriété
position-anchor. Ce identifiantispécifie simplement que les dimensions de l'élément sont définies par une autre ancre.Dans l'exemple ci-dessous la position de l'élément est défini par l'image d'une ancre, mais ses dimensions sont définies par celles de l'image de la cible (vous pouvez ajuster celles-ci pour vous en convaincre).
Si l'identifiant de la cible n'est pas trouvé, ce sont les dimensions indiquées en dernier (
d) qui sont finalement prises en compte.⚓🎯width:anchor(--syntax2 width, 100px);
height:anchor(--syntax2, 50px);
Simulateur avec la fonction anchor-size().
Le simulateur vous permet de choisir la valeur pour la largeur et la hauteur de l'élément positionné (via anchor-size()) et
d'ajuster les dimensions de l'ancre.
positionné
Support de la fonction anchor-size().
anchor-size() pour dimensionner l'élément positionné (position par ancrage).Remarques :
(1) Désactivé par défaut. Peut être activé en positionnant le flag layout.css.anchor-positioning.enabled à true.
par ancrage
anchor-size()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
Historique de la fonction anchor-size().
-
Module CSS - Positionnement par ancrages - Niveau 1
Introduction dans cette spécification du positionnement par ancrage, et définition de la fonctionanchor-size().29 Juin 2023Document de travail.
Voir aussi au sujet du positionnement par ancrage.
Voici la liste des propriétés et fonctions décrites dans la spécification CSS Anchor Positioning".
Propriétés :
anchor-name.position-try-fallbacks et position-try-order.position-try-fallbacks.


