Heim > Web-Frontend > CSS-Tutorial > Warum verhält sich „unten: 0' in der Sticky-Positionierung den Erwartungen widersprechend?

Warum verhält sich „unten: 0' in der Sticky-Positionierung den Erwartungen widersprechend?

Mary-Kate Olsen
Freigeben: 2024-11-26 18:37:11
Original
192 Leute haben es durchsucht

Why Does `bottom: 0` in Sticky Positioning Act Opposite to Expectations?

Unerwartetes Verhalten bei Sticky Positioning: unten: 0

Beim Erkunden der CSS-Positionseigenschaft können Entwickler bei der Angabe von unten auf ein unerwartetes Verhalten stoßen: 0 für Sticky-Positionierung. Der MDN-Dokumentation zufolge werden Sticky-Elemente zunächst als relative Positionselemente behandelt, bis ein bestimmter Schwellenwert erreicht wird. Anschließend wechseln sie zur festen Positionierung. Wenn jedoch „bottom: 0“ angegeben wird, tritt das gegenteilige Verhalten auf.

Erwartetes Verhalten vs. tatsächliches Verhalten

Die MDN-Dokumentation schlägt vor, dass Elemente mit „bottom: 0“ sein sollten relativ, wenn er sich unterhalb des Ansichtsfensters befindet, und fest, wenn er sich darüber befindet. Das tatsächliche Verhalten ist jedoch umgekehrt: Elemente sind fixiert, wenn sie sich unterhalb des Ansichtsfensters befinden, und relativ, wenn sie darüber liegen.

Erklärung

Diese Diskrepanz ergibt sich aus dem Wortlaut der MDN-Dokumentation . Darin heißt es, dass Sticky-Elemente als relativ behandelt werden, bis der Schwellenwert überschritten wird, und nicht unbedingt beginnend als relativ. Im Fall von unten: 0 wird der Schwellenwert effektiv von Anfang an überschritten, da das Element unterhalb des unteren Rands des Ansichtsfensters beginnt. Daher beginnt das Element als fest und wird relativ, wenn es über seinen Startpunkt hinaus gescrollt wird.

Beispielillustration

Beachten Sie den folgenden HTML- und CSS-Code:

<body>
Nach dem Login kopieren
.a {
  margin-top: auto;
  position: sticky;
  bottom: 0;
}

.b {
  position: sticky;
  top: 0;
}
Nach dem Login kopieren

In diesem Beispiel beginnt Element A als relativ und wird beim Scrollen nach unten fixiert. Element B hingegen beginnt als fest und wird relativ, wenn es nach oben gescrollt wird. Dieses Verhalten stimmt mit dem oben beschriebenen tatsächlichen Verhalten überein, wobei unten: 0 zu Beginn zu einer festen Positionierung führt.

Das obige ist der detaillierte Inhalt vonWarum verhält sich „unten: 0' in der Sticky-Positionierung den Erwartungen widersprechend?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage