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>
.a { margin-top: auto; position: sticky; bottom: 0; } .b { position: sticky; top: 0; }
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!