Heim > Web-Frontend > CSS-Tutorial > Warum schlägt die verschachtelte Sticky-Positionierung fehl und wie kann ich das Problem beheben?

Warum schlägt die verschachtelte Sticky-Positionierung fehl und wie kann ich das Problem beheben?

Patricia Arquette
Freigeben: 2024-12-21 04:07:10
Original
667 Leute haben es durchsucht

Why Does Nested Sticky Positioning Fail, and How Can I Fix It?

Sticky-Positionierungsdilemma: Warum es beim Verschachteln fehlschlägt

Wenn Sie ein Element mit position: sticky in einem anderen Element platzieren, verhält es sich möglicherweise nicht mehr wie erwartet. Das liegt daran, dass bei der Sticky-Positionierung die Abmessungen des übergeordneten Elements berücksichtigt werden.

Das Problem verstehen

Im bereitgestellten Beispiel:

.nav-wrapper {
  position: absolute;
  bottom: 0;
}
Nach dem Login kopieren

Das übergeordnete Element (nav-wrapper) definiert seine Höhe basierend auf der Höhe des Navigationselements.

<div class="nav-wrapper">
  <nav>
    <a href="#">...</a>
    <a href="#">...</a>
  </nav>
</div>
Nach dem Login kopieren

Mit nav hat eine Position: sticky, es wird erwartet, dass es am oberen Rand des Browserfensters bleibt. Da das übergeordnete Element jedoch den gesamten verfügbaren vertikalen Raum einnimmt, gibt es keinen Platz, an dem sich das Navigationselement festhalten kann.

Problem lösen

Damit Sticky funktioniert In diesem Szenario können Sie dem Navigationselement unabhängig von seinem übergeordneten Element eine eigene Höhe zuweisen:

.nav-wrapper {
  position: absolute;
  bottom: 0;
  height: 50px;
}

.nav-wrapper nav {
  position: sticky;
  top: 0;
  height: 100%;
}
Nach dem Login kopieren

Indem Sie die Höhe beider Elemente festlegen nav-wrapper und nav schaffen Sie genügend vertikalen Raum, damit die Sticky-Positionierung korrekt funktioniert.

Das obige ist der detaillierte Inhalt vonWarum schlägt die verschachtelte Sticky-Positionierung fehl und wie kann ich das Problem beheben?. 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