Heim > Web-Frontend > CSS-Tutorial > Warum funktioniert Z-Index nicht mit Elementen mit fester Positionierung?

Warum funktioniert Z-Index nicht mit Elementen mit fester Positionierung?

Patricia Arquette
Freigeben: 2025-01-03 07:18:42
Original
815 Leute haben es durchsucht

Why Doesn't z-index Work with Fixed Positioning Elements?

z-index funktioniert nicht mit fester Positionierung: Den Grund finden

Feste Positionierung ist ein leistungsstarkes Werkzeug zum Erstellen von Elementen, die an Ort und Stelle bleiben unabhängig vom Scrollen auf dem Bildschirm angezeigt. Es kann jedoch manchmal zu Konflikten mit der Z-Index-Eigenschaft kommen, die die Stapelreihenfolge von Elementen steuert.

Betrachten Sie zur Veranschaulichung den folgenden Codeausschnitt:

#over {
  width: 600px;
  z-index: 10;
}

#under {
  position: fixed;
  top: 5px;
  width: 420px;
  left: 20px;
  border: 1px solid;
  height: 10%;
  background: #fff;
  z-index: 1;
}
Nach dem Login kopieren

Wie zu erwarten, Das #over-Element sollte über dem #under-Element erscheinen, da es einen höheren Z-Index hat. Allerdings überlagert in diesem Szenario #under immer noch #over. Warum passiert das?

Die Antwort liegt in der Standardpositionierung von #over. Standardmäßig haben Elemente eine statische Positionierung, was bedeutet, dass sie ihre natürliche Position im Dokumentenfluss einnehmen. Feste Positionierungselemente hingegen werden aus dem normalen Fluss entfernt und an bestimmten Koordinaten relativ zum Ansichtsfenster der Seite platziert.

In diesem Fall wird sie durch die feste Position von #under aus dem normalen Fluss entfernt , und daher wird sein Z-Index für Elemente mit statischer Positionierung irrelevant. Damit #under hinter #over erscheint, müssen wir die Positionierung von #over auf relativ setzen. Dadurch wird #over im Dokumentenfluss platziert, es kann jedoch seine Position entsprechend dem angegebenen Z-Index verschieben.

Hier ist das feste Code-Snippet:

#over {
  width: 600px;
  z-index: 10;
  position: relative;
}

#under {
  position: fixed;
  top: 14px;
  width: 415px;
  left: 53px;
  border: 1px solid;
  height: 10%;
  background: #f0f;
  z-index: 1;
}
Nach dem Login kopieren

Nun das #under Element erscheint wie erwartet unter #over. Denken Sie daran, dass Elemente entweder absolut oder relativ positioniert sein müssen, damit der Z-Index ordnungsgemäß funktioniert.

Das obige ist der detaillierte Inhalt vonWarum funktioniert Z-Index nicht mit Elementen mit fester Positionierung?. 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