position-try
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из самых широко используемых браузеров.
Экспериментальная функция: Это экспериментальная технология.
Перед использованием в производственной среде внимательно проверьте таблицу совместимости с браузерами.
Свойство position-try CSS является сокращённой записью для свойств position-try-order и position-try-fallbacks.
Составные свойства
Это свойство является сокращённой записью для следующих свойств CSS:
Синтаксис
/* position-try-fallbacks only */ position-try: normal flip-block; position-try: top; position-try: --custom-try-option; position-try: flip-block flip-inline; position-try: top, right, bottom; position-try: --custom-try-option1, --custom-try-option2; position-try: normal flip-block, right, --custom-try-option; /* position-try-order and position-try-fallbacks */ position-try: normal none; position-try: most-width --custom-try-option1, --custom-try-option2; position-try: most-height flip-block, right, --custom-try-option; /* Global values */ position-try: inherit; position-try: initial; position-try: revert; position-try: revert-layer; position-try: unset;
Значения
См. position-try-order и position-try-fallbacks для описания значений.
Сокращённая запись position-try может задавать значения для position-try-fallbacks, или position-try-order и position-try-fallbacks, в указанном порядке. Если position-try-order опущено, оно устанавливается до значения по умолчанию, которое равно normal, означая, что варианты обратной совместимости «position-try» будут использоваться в том порядке, в котором они указаны в свойстве.
Формальное определение
| Начальное значение | как для каждого из свойств сокращённой записи:
|
|---|---|
| Применяется к | элементам с абсолютным позиционированием |
| Наследуется | нет |
| Проценты | как для каждого из свойств сокращённой записи:
|
| Вычисленное значение | как для каждого из свойств сокращённой записи:
|
| Тип анимации | как для каждого из свойств сокращённой записи:
|
Формальный синтаксис
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
<position-area> =
none |
<position-area>
<position-area> =
[ left | center | right | span-left | span-right | x-start | x-end | span-x-start | span-x-end | x-self-start | x-self-end | span-x-self-start | span-x-self-end | span-all ] || [ top | center | bottom | span-top | span-bottom | y-start | y-end | span-y-start | span-y-end | y-self-start | y-self-end | span-y-self-start | span-y-self-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}
Примеры
Базовое использование position-try
Этот пример демонстрирует эффект position-try.
HTML
HTML содержит два элемента <div>, которые будут являться якорем и элементом, позиционированным относительно якоря.
<div class="anchor">⚓︎</div> <div class="infobox"> <p>This is an information box.</p> </div>
CSS
В CSS якорю задаётся anchor-name, и ему присваивается значение position равное absolute. Мы позиционируем его в верхней половине области просмотра, используя значения top и left:
.anchor {
anchor-name: --myAnchor;
position: absolute;
top: 100px;
left: 45%;
}
Затем мы включаем пользовательский вариант позиционирования — --custom-bottom — который позиционирует элемент ниже якоря и задаёт соответствующий отступ:
@position-try --custom-bottom {
top: anchor(bottom);
bottom: unset;
margin-top: 10px;
}
Изначально мы позиционируем элемент над якорем, а затем задаём значение position-try для него, которое предоставляет position-try-order равное most-height, и список position-try-fallbacks , который включает только наш пользовательский вариант обратной совместимости:
.infobox {
position: fixed;
position-anchor: --myAnchor;
bottom: anchor(top);
margin-bottom: 10px;
justify-self: anchor-center;
position-try: most-height --custom-bottom;
}
Результат
Элемент отображается под якорем, даже несмотря на то, что он первоначально расположен над ним. Это происходит потому, что ниже якоря больше вертикального пространства, чем над ним. Порядок применения most-height приводит к тому, что вариант обратной совместимости --custom-bottom применяется, размещая позиционированный элемент в позиции, которая обеспечивает контейнеру наибольшую высоту.
Спецификации
| Спецификация |
|---|
| CSS позиционирование якоря # position-try-prop |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
position-try |
125 | 125 | Нет | 111 | Нет | 125 | Нет | 83 | Нет | 27.0 | 125 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/position-try