Heim > Web-Frontend > CSS-Tutorial > Warum wirkt sich Z-Index nicht auf fest positionierte Elemente aus?

Warum wirkt sich Z-Index nicht auf fest positionierte Elemente aus?

Mary-Kate Olsen
Freigeben: 2025-01-02 19:30:43
Original
1027 Leute haben es durchsucht

Why Doesn't z-index Affect Fixed-Positioned Elements?

Element mit fester Positionierung, das nicht vom Z-Index beeinflusst wird

In CSS steuert die Z-Index-Eigenschaft die Stapelreihenfolge von Elementen auf dem Seite, auf der höhere Werte Elemente in den Vordergrund rücken. Allerdings scheinen fest positionierte Elemente manchmal immun gegen Z-Index-Änderungen zu sein.

Dieses Verhalten wird durch die standardmäßige statische Positionierung fester Elemente verursacht. Wenn ein Element mit fester Positionierung in einem anderen Element mit Standardpositionierung platziert wird, entsteht ein Stapelkontext innerhalb dieses Elements. In diesem Kontext liegt das feste Element über allen anderen Elementen, unabhängig von ihrem Z-Index.

Um dieses Problem zu beheben, können Sie dem übergeordneten Element eine relative Positionierung hinzufügen. Dadurch wird ein neuer Stapelkontext innerhalb des übergeordneten Elements erstellt, sodass der Z-Index des festen Elements wirksam wird.

Beispiel:

Berücksichtigen Sie das folgende HTML und CSS:

<div>
Nach dem Login kopieren
#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

In diesem Fall bleibt das #under-Element über dem #over-Element, auch wenn letzteres einen höheren Wert hat Z-Index. Um dies zu beheben, fügen Sie eine relative Positionierung zum #over-Element hinzu:

#over {
  width: 600px;
  z-index: 10;
  position: relative;
}
Nach dem Login kopieren

Jetzt funktioniert der Z-Index des #under-Elements wie erwartet und platziert es hinter dem #over-Element.

Das obige ist der detaillierte Inhalt vonWarum wirkt sich Z-Index nicht auf fest positionierte Elemente aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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