Untersuchung der Diskrepanz im Sticky-Position-Verhalten
In der MDN-Dokumentation wird die Sticky-Positionierung als ein Attribut dargestellt, das Elemente einmal von der relativen Platzierung in die feste Platzierung überführt ein definierter Schwellenwert überschritten wird. In der Praxis verhält es sich jedoch anders. Diese Diskrepanz ist auf ein Missverständnis der Reihenfolge zurückzuführen, in der diese Zustände implementiert werden.
Laut MDN verhalten sich Sticky-Position-Elemente zunächst wie relative Positionselemente, bis der Schwellenwert überschritten wird. In dem Kontext, in dem „bottom:0“ angegeben ist, wird der Schwellenwert jedoch bereits im Ausgangszustand überschritten. Dadurch erhält das Element direkt seine feste Platzierung und bleibt diese, bis die Position des Elements 0 Pixel vom unteren Rand des Ansichtsfensters überschreitet.
Informationen zu Sticky-Position-Zuständen
Position:sticky hat zwei unterschiedliche Zustände:
Der Anfangszustand wird durch den Zustand des Elements bestimmt Platzierung und der definierten Schwelle. Im Fall von unten:0 wird der Schwellenwert sofort überschritten, was zu einem anfänglichen festen Zustand führt. Beim Scrollen des Ansichtsfensters bleibt das Element fixiert, bis der Abstand vom unteren Rand größer als 0 Pixel wird. An diesem Punkt kehrt es in seinen relativen Zustand zurück.
Veranschaulichung des Verhaltens
Betrachten Sie den folgenden Codeausschnitt:
body { height:150vh; margin:0; display:flex; flex-direction:column; border:2px solid; margin:50px; } .b { margin-top:auto; position:sticky; bottom:0; } .a { position:sticky; top:0; }
<div class="a"> I will start relative then I will be fixed </div> <div class="b"> I will start fixed then I will be relative </div>
Element A mit top:0 verhält sich zunächst relativ und geht in einen festen Zustand über, wenn es den oberen Rand des Ansichtsfensters erreicht. Element B mit unten:0 beginnt sofort an einer festen Position und geht in eine relative Position über, wenn der Abstand vom unteren Rand des Ansichtsfensters 0 Pixel überschreitet.
Das obige ist der detaillierte Inhalt vonWarum verhält sich Sticky Positioning anders als in der MDN-Dokumentation beschrieben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!