Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

position-try

Baseline 2026
Nouvellement disponible

Depuis January 2026, cette fonctionnalité fonctionne sur les appareils et les versions de navigateur les plus récents. Elle peut ne pas fonctionner sur les appareils ou navigateurs plus anciens.

La propriété raccourcie CSS position-try correspond aux propriétés position-try-order et position-try-fallbacks.

Propriétés constitutives

Cette propriété est un raccourci pour les propriétés CSS suivantes :

Syntaxe

css
/* position-try-fallbacks seulement */
position-try: normal flip-block;
position-try: top;
position-try: --position-essai-personnalise;
position-try: flip-block flip-inline;
position-try: top, right, bottom;
position-try: --position-essai-personnalise1, --position-essai-personnalise2;
position-try:
  normal flip-block,
  right,
  --position-essai-personnalise;

/* position-try-order et position-try-fallbacks */
position-try: normal none;
position-try:
  most-width --position-essai-personnalise1,
  --position-essai-personnalise2;
position-try:
  most-height flip-block,
  right,
  --position-essai-personnalise;

/* Valeurs globales */
position-try: inherit;
position-try: initial;
position-try: revert;
position-try: revert-layer;
position-try: unset;

Valeurs

Voir position-try-order et position-try-fallbacks pour la description des valeurs.

Le raccourci position-try peut définir des valeurs pour position-try-fallbacks, ou position-try-order et position-try-fallbacks, dans cet ordre. Si position-try-order est omis, il est défini sur la valeur initiale de la propriété, qui est normal, ce qui signifie que les options de repli de position-try sont essayées dans l'ordre dans lequel elles apparaissent dans la propriété.

Définition formelle

Valeur initialepour chaque propriété individuelle de la propriété raccourcie :
Applicabilitééléments positionnés de manière absolue
Héritéenon
Pourcentagespour chaque propriété individuelle de la propriété raccourcie :
Valeur calculéepour chaque propriété individuelle de la propriété raccourcie :
Type d'animationpour chaque propriété individuelle de la propriété raccourcie :

Syntaxe formelle

position-try = 
<'position-try-order'>? <'position-try-fallbacks'>

<position-try-order> =
normal |
<try-size>

<position-try-fallbacks> =
none |
[ [ <dashed-ident> || <try-tactic> ] | <position-area> ]#

<try-size> =
most-width |
most-height |
most-block-size |
most-inline-size

<try-tactic> =
flip-block ||
flip-inline ||
flip-start ||
flip-x ||
flip-y

<position-area> =
[ left | center | right | span-left | span-right | x-start | x-end | span-x-start | span-x-end | self-x-start | self-x-end | span-self-x-start | span-self-x-end | span-all ] || [ top | center | bottom | span-top | span-bottom | y-start | y-end | span-y-start | span-y-end | self-y-start | self-y-end | span-self-y-start | span-self-y-end | span-all ] |
[ block-start | center | block-end | span-block-start | span-block-end | span-all ] || [ inline-start | center | inline-end | span-inline-start | span-inline-end | span-all ] |
[ self-block-start | center | self-block-end | span-self-block-start | span-self-block-end | span-all ] || [ self-inline-start | center | self-inline-end | span-self-inline-start | span-self-inline-end | span-all ] |
[ start | center | end | span-start | span-end | span-all ]{1,2} |
[ self-start | center | self-end | span-self-start | span-self-end | span-all ]{1,2}

Exemples

Utilisation simple de position-try

Cette démonstration montre l'effet de position-try.

HTML

Le HTML inclut deux éléments HTML <div> qui deviendront une ancre et un élément positionné par rapport à l'ancre.

html
<div class="ancre">⚓︎</div>

<div class="boite-information">
  <p>Ceci est une boîte d'information.</p>
</div>

CSS

Dans le CSS, l'ancre se voit attribuer un anchor-name et une valeur position de absolute. Nous la positionnons dans la moitié supérieure de la fenêtre en utilisant les valeurs top et left :

css
.ancre {
  anchor-name: --mon-ancre;
  position: absolute;
  top: 100px;
  left: 45%;
}

Nous incluons ensuite une option de position personnalisée — --bas-personnalise — qui positionne l'élément sous l'ancre et lui donne une marge appropriée :

css
@position-try --bas-personnalise {
  top: anchor(bottom);
  bottom: unset;
  margin-top: 10px;
}

Nous positionnons initialement l'élément au-dessus de son ancre, puis nous définissons une valeur position-try qui lui donne un position-try-order de most-height et une liste de position-try-fallbacks qui inclut uniquement notre option de repli personnalisée :

css
.boite-information {
  position: fixed;
  position-anchor: --mon-ancre;

  bottom: anchor(top);
  margin-bottom: 10px;
  justify-self: anchor-center;

  position-try: most-height --bas-personnalise;
}

Résultat

L'élément apparaît sous son ancre, même s'il est initialement positionné au-dessus. Cela se produit parce qu'il y a plus d'espace vertical sous l'ancre que dessus. L'ordre d'essai most-height fait en sorte que l'option de repli --bas-personnalise soit appliquée, plaçant l'élément positionné dans la position qui donne à son bloc contenant la plus grande hauteur.

Spécifications

Spécification
CSS Anchor Positioning Module Level 1
# position-try-prop

Compatibilité des navigateurs

Voir aussi