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
Mary-Kate OlsenOriginal
2025-01-02 19:30:43995Durchsuche

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>
#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;
}

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;
}

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!

Stellungnahme:
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