position-try
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die position-try CSS Eigenschaft ist eine Kurzform, die den position-try-order und position-try-fallbacks Eigenschaften entspricht.
Zu den Bestandteilen gehörende Eigenschaften
Diese Eigenschaft ist eine Kurzform für die folgenden CSS-Eigenschaften:
Syntax
/* 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;
Werte
Siehe position-try-order und position-try-fallbacks für Wertbeschreibungen.
Die position-try Kurzform kann Werte für position-try-fallbacks, oder position-try-order und position-try-fallbacks in dieser Reihenfolge spezifizieren. Wenn position-try-order weggelassen wird, wird es auf den Initialwert der Eigenschaft gesetzt, was normal ist, d.h. die position-try Fallback-Optionen werden in der Reihenfolge ausprobiert, in der sie in der Eigenschaft erscheinen.
Formale Definition
| Anfangswert | wie die jeweiligen Kurzschreibweisen:
|
|---|---|
| Anwendbar auf | absolut positionierte Elemente |
| Vererbt | Nein |
| Prozentwerte | wie die jeweiligen Kurzschreibweisen:
|
| Berechneter Wert | wie die jeweiligen Kurzschreibweisen:
|
| Animationstyp | wie die jeweiligen Kurzschreibweisen:
|
Formale Syntax
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> =
[ 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}
Beispiele
Grundlegende Nutzung von position-try
Dieses Demo zeigt die Wirkung von position-try.
HTML
Das HTML enthält zwei <div> Elemente, die zu einem Anker und einem ankerpositionierten Element werden.
<div class="anchor">⚓︎</div>
<div class="infobox">
<p>This is an information box.</p>
</div>
CSS
Im CSS wird dem Anker ein anchor-name gegeben und ein position Wert von absolute darauf gesetzt. Wir positionieren es in der oberen Hälfte des Viewports mit top und left Werten:
.anchor {
anchor-name: --my-anchor;
position: absolute;
top: 100px;
left: 45%;
}
Wir fügen dann eine benutzerdefinierte Positionsoption — --custom-bottom — hinzu, die das Element unter dem Anker positioniert und ihm einen angemessenen Rand gibt:
@position-try --custom-bottom {
top: anchor(bottom);
bottom: unset;
margin-top: 10px;
}
Wir positionieren das Element zunächst oberhalb seines Ankers und setzen dann einen position-try Wert darauf, der ihm einen position-try-order von most-height gibt und eine position-try-fallbacks Liste, die nur unsere benutzerdefinierte Fallback-Option enthält:
.infobox {
position: fixed;
position-anchor: --my-anchor;
bottom: anchor(top);
margin-bottom: 10px;
justify-self: anchor-center;
position-try: most-height --custom-bottom;
}
Ergebnis
Das Element erscheint unterhalb seines Ankers, obwohl es ursprünglich oberhalb davon positioniert ist. Dies geschieht, weil es unterhalb des Ankers mehr vertikalen Platz gibt als oberhalb. Die most-height Versuchsreihenfolge führt dazu, dass die --custom-bottom Fallback-Option angewendet wird, wodurch das positionierte Element in die Position gebracht wird, die seinem umgebenden Block die meiste Höhe gibt.
Spezifikationen
| Specification |
|---|
| CSS Anchor Positioning # position-try-prop |
Browser-Kompatibilität
Siehe auch
position-areaposition-try-fallbacksposition-try-order- Die
@position-tryAt-Regel - Der
<position-area>Wert - CSS Ankerpositionierung Modul
- Verwendung der CSS Ankerpositionierung Leitfaden
- Fallback-Optionen und bedingtes Ausblenden bei Überlauf Leitfaden