Spec-Zone.ru › CSS

Свойство CSS `position-try-order`

Базовая поддержка Ограниченная доступность

Эта функция не входит в Baseline, поскольку не работает в некоторых наиболее широко используемых браузерах.

Свойство position-try-order CSS позволяет задать приоритет для параметра position-try-fallbacks, применяемого к элементу, позиционируемому относительно якоря, при его первоначальном отображении, на основе того, какой параметр создаёт больше всего свободного пространства вокруг элемента в заданном направлении.

Синтаксис

/* Keywords */
position-try-order: normal;
position-try-order: most-height;
position-try-order: most-width;
position-try-order: most-block-size;
position-try-order: most-inline-size;

/* Global values */
position-try-order: inherit;
position-try-order: initial;
position-try-order: revert;
position-try-order: revert-layer;
position-try-order: unset;

Значения

Свойству position-try-order можно задать ключевое слово normal или значение типа <try-size>.

normal
Значение по умолчанию. При первоначальном отображении элемента не проверяются резервные параметры position-try.
<try-size>
Задаёт критерии, по которым определяется, какой резервный параметр следует применить к элементу, позиционируемому относительно якоря, при его первоначальном отображении. Доступны следующие значения:
most-height
Применяет резервный параметр position-try, который предоставляет элементу наибольшее пространство по вертикали.
most-width
Применяет резервный параметр position-try, который предоставляет элементу наибольшее пространство по горизонтали.
most-block-size
Применяет резервный параметр position-try, который предоставляет элементу наибольшее пространство в блочном направлении.
most-inline-size
Применяет резервный параметр position-try, который предоставляет элементу наибольшее пространство во встроенном направлении.

Описание

Свойство position-try-order отличается от остальных возможностей position-try тем, что влияет на выбор применяемого резервного параметра position-try при первом отображении позиционируемого элемента, а не во время прокрутки. Например, может потребоваться изначально отобразить элемент в области, где доступно больше места по высоте или ширине, чем в исходной позиции.

Браузер проверяет доступные position-try-fallbacks, чтобы определить, какой из них предоставляет элементу, позиционируемому относительно якоря, больше всего места в заданном направлении. Затем он применяет этот параметр, переопределяя исходные стили элемента при первой отрисовке страницы.

Если ни один резервный параметр position-try не предоставляет больше места по ширине или высоте, чем исходное позиционирование элемента, параметр position-try не будет применён — так же, как если бы для position-try-order было задано значение normal.

Подробные сведения о возможностях якорного позиционирования и использовании параметров position-try см. в модуле якорного позиционирования CSS и руководстве «Резервные параметры и условное скрытие при переполнении».

Свойство position-try-order, а также свойство position-try-fallbacks можно также задать с помощью сокращённого свойства position-try.

Формальное определение

Исходное значение normal
Применяется к абсолютно позиционируемым элементам
Наследуется нет
Вычисленное значение как указано
Тип анимации дискретный

Формальный синтаксис

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

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

Примеры

Основы использования

В этом примере показан эффект свойства position-try-order.

HTML

HTML-код содержит два элемента <div>, которые станут якорем и элементом, позиционируемым относительно якоря.

<div class="anchor">⚓︎</div>

<div class="infobox">
  <p>This is an information box.</p>
</div>

CSS

В CSS сначала зададим элементу, позиционируемому относительно якоря, значение normal свойства position-try-order, чтобы его было легче найти, когда позже потребуется изменить его:

.infobox {
  position-try-order: normal;
}

Якорю задаются anchor-name и большое значение margin, чтобы расположить его ближе к центру области просмотра:

.anchor {
  font-size: 1.8rem;
  color: white;
  text-shadow: 1px 1px 1px black;
  background-color: hsl(240 100% 75%);
  width: fit-content;
  border-radius: 10px;
  border: 1px solid black;
  padding: 3px;
}
.anchor {
  anchor-name: --my-anchor;
  margin: 90px auto;
}
.infobox {
  color: darkblue;
  background-color: azure;
  border: 1px solid #dddddd;
  padding: 10px;
  border-radius: 10px;
  font-size: 1rem;
  text-align: center;
}

Добавим пользовательский параметр позиции с именем --custom-bottom, который расположит элемент, позиционируемый относительно якоря, под якорем и задаст ему подходящий внешний отступ:

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

Сначала расположим элемент, позиционируемый относительно якоря, над якорем, а затем зададим ему пользовательский параметр позиции с помощью свойства position-try-fallbacks.

.infobox {
  position: fixed;
  position-anchor: --my-anchor;

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

  position-try-fallbacks: --custom-bottom;
}

Результат

Изначально элемент, позиционируемый относительно якоря, расположен над якорем — это заданная нами позиция по умолчанию.

Теперь откройте пример в MDN Playground, нажав кнопку Запустить, запустите пример, а затем измените position-try-order на most-height или most-block-size. После повторной отрисовки примера элемент, позиционируемый относительно якоря, будет расположен под якорем: применяется резервный параметр --custom-bottom, поскольку он предоставляет позиционируемому элементу больше окружающего пространства по высоте, чем позиция по умолчанию.

Спецификации

Спецификация
Модуль якорного позиционирования CSS, уровень 1
# position-try-order-property

Совместимость с браузерами

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari для iOS Samsung Internet WebView для Android WebView для iOS
position-try-order
125
125
148
111
26
125
148
83
26
27.0
125
26
most-block-size
125
125
148
111
26
125
148
83
26
27.0
125
26
most-height
125
125
148
111
26
125
148
83
26
27.0
125
26
most-inline-size
125
125
148
111
26
125
148
83
26
27.0
125
26
most-width
125
125
148
111
26
125
148
83
26
27.0
125
26
normal
125
125
148
111
26
125
148
83
26
27.0
125
26

См. также

  • position-try
  • position-try-fallbacks
  • Правило at-rule @position-try
  • Модуль якорного позиционирования CSS
  • Руководство «Использование якорного позиционирования CSS»
  • Руководство «Резервные параметры и условное скрытие при переполнении»

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/position-try-order

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API