Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

position-visibility CSS property

Baseline 2026 *
Neu verfügbar

Seit January 2026 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.

Want more browser support for this feature? Tell us why.

* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.

Die position-visibility CSS Eigenschaft ermöglicht es, ein Anker-positioniertes Element bedingt zu verbergen, je nachdem beispielsweise, ob es sein enthaltendes Element oder den Viewport überläuft.

Syntax

css
/* Single values */
position-visibility: always;
position-visibility: anchors-valid;
position-visibility: anchors-visible;
position-visibility: no-overflow;

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

Werte

Diese Eigenschaft wird als einer der folgenden Schlüsselwortwerte angegeben:

always

Das positionierte Element wird immer angezeigt.

anchors-valid

Wenn der position-anchor-Wert des positionierten Elements nicht auf ein gültiges Ankerelement zeigt, wird das positionierte Element stark verborgen.

anchors-visible

Wenn der Anker vollständig verborgen ist, entweder weil er sein enthaltendes Element (oder den Viewport) überläuft oder von anderen Elementen verdeckt wird, wird das positionierte Element stark verborgen.

no-overflow

Wenn das positionierte Element beginnt, sein enthaltendes Element oder den Viewport zu überlaufen, wird es stark verborgen.

Beschreibung

In einigen Situationen möchten Sie eventuell ein Anker-positioniertes Element nicht anzeigen. Zum Beispiel, wenn sein zugehöriger Anker vom Bildschirm gescrollt wurde, aber das Anker-positionierte Element ansonsten noch teilweise oder vollständig sichtbar wäre, könnte es unklar sein, worauf es sich bezieht und unnötigerweise Platz einnehmen. Daher möchten Sie es vielleicht komplett verbergen.

Die Eigenschaft position-visibility kann verwendet werden, um das Anker-positionierte Element always anzuzeigen oder bedingt in bestimmten Situationen zu verbergen:

  • anchors-visible: Das zugehörige Ankerelement ist vollständig verborgen.
  • anchors-valid: Die position-anchor-Eigenschaft des Anker-positionierten Elements verweist nicht auf einen gültigen anchor-name der auf ein Ankerelement im selben Dokument gesetzt ist.
  • no-overflow: Das Anker-positionierte Element ist teilweise oder vollständig verborgen.

Wenn ein Element aufgrund von position-visibility verborgen ist, wird es als stark verborgen bezeichnet. Das bedeutet, dass es so agieren wird, als ob es und seine Nachkommenelemente einen visibility-Wert von hidden gesetzt haben, unabhängig von ihrem eigentlichen Sichtbarkeitswert.

position-visibility sollte nur in Situationen verwendet werden, in denen es bevorzugt wird, das positionierte Element vollständig zu verbergen. In den meisten Fällen ist es sinnvoller zu versuchen, die Platzierung von positionierten Elementen zu ändern, wenn sie beginnen, überzulaufen, um sie auf dem Bildschirm und nutzbar zu halten. Dies kann mit der Eigenschaft position-try-fallbacks und der Regel @position-try erreicht werden. Sehen Sie den Fallback-Optionen und bedingtes Verbergen bei Überlauf Leitfaden für weitere Informationen.

Formale Definition

Anfangswertanchors-visible
Anwendbar aufabsolut positionierte Elemente
VererbtNein
Berechneter Wertwie angegeben
Animationstypdiskret

Formale Syntax

position-visibility = 
always |
[ anchor-valid || anchor-visible || no-overflow ]

Beispiele

Grundlegende Nutzung

Dieses Beispiel erlaubt das Ändern des Wertes der position-visibility-Eigenschaft eines Ankers, um die Effekte jedes Wertes zu demonstrieren.

HTML

Wir spezifizieren zwei <div> Elemente: ein Ankerelement mit der Klasse anchor und ein positioniertes Element mit der Klasse infobox.

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

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

Das HTML enthält auch Fülltext, um den Inhalt höher als den Viewport zu machen, sodass Scrollen erforderlich ist. Wir haben auch ein <fieldset> mit einer Gruppe von Radio-Eingaben mit verschiedenen position-visibility-Werten eingeschlossen. Das Markup hierfür wird aus Gründen der Kürze nicht gezeigt.

CSS

Wir gestalten ein anchor <div> als Ankerelement und verbinden das infobox <div> damit. Der relevante CSS ist wie folgt:

css
.anchor {
  anchor-name: --my-anchor;
}

.infobox {
  position-anchor: --my-anchor;
  position: fixed;
  position-area: top span-all;
  margin-bottom: 5px;
  position-visibility: always;
}

JavaScript

Wir fügen einen change-Ereignishandler zu den Radio-Buttons hinzu, sodass beim Auswählen eines neuen Werts der Wert der position-visibility-Eigenschaft der Infobox aktualisiert wird.

js
const infobox = document.querySelector(".infobox");
const radios = document.querySelectorAll('[name="position-visibility"]');

for (const radio of radios) {
  radio.addEventListener("change", setPositionVisibility);
}

function setPositionVisibility(e) {
  infobox.style.positionVisibility = e.target.value;
}

Ergebnis

Wählen Sie verschiedene position-visibility-Werte aus und scrollen Sie dann die Seite nach oben und unten, um deren Effekte zu sehen. Mit position-visibility: always wird das positionierte Element nicht verborgen. Mit position-visibility: anchors-visible wird das positionierte Element nur sichtbar, wenn der Anker teilweise oder vollständig auf dem Bildschirm ist. Mit position-visibility: no-overflow wird das positionierte Element verborgen, sobald es beginnt, den Viewport zu überlaufen.

Spezifikationen

Spezifikation
CSS Anchor Positioning Module Level 1
# position-visibility

Browser-Kompatibilität

Siehe auch