Heim >Web-Frontend >CSS-Tutorial >Warum erscheint mein Kontextmenü in IE7 hinter der Schaltfläche?

Warum erscheint mein Kontextmenü in IE7 hinter der Schaltfläche?

Susan Sarandon
Susan SarandonOriginal
2024-11-12 06:50:02883Durchsuche

Why Does My Context Menu Appear Behind the Button in IE7?

IE7 Z-Index-Problem für Kontextmenü

Problemstellung:

In IE7, Unter der Schaltfläche, mit der es verknüpft ist, wird ein Kontextmenü (UL) angezeigt, das das Menü verbirgt. Dieses Verhalten unterscheidet sich von anderen Browsern aufgrund der einzigartigen Handhabung von Stapelkontexten durch den Browser.

Analyse:

Das für die Schaltfläche und das Menü verwendete CSS positioniert diese Elemente mithilfe relativer und absolute Positionierung bzw. In IE7 bestimmt jedoch der am nächsten positionierte Vorfahre (in diesem Fall das „control-action“-Div) den Stapelkontext. Dies bedeutet, dass der Z-Index des Menüs (10000) nicht berücksichtigt wird und das Menü unterhalb der Schaltfläche positioniert wird.

Lösung:

Um dieses Problem zu beheben , kann die Reihenfolge der HTML-Elemente wie folgt geändert werden:

<div class="control-action">
  <ul>

Durch Platzieren der Schaltfläche nach dem ul wird die Schaltfläche zum nächstgelegenen positionierten Vorfahren und erstellt so einen neuen Stapelkontext. Folglich wird der Z-Index des Menüs (10000) wirksam und das Menü erscheint nun über der Schaltfläche.

Das obige ist der detaillierte Inhalt vonWarum erscheint mein Kontextmenü in IE7 hinter der Schaltfläche?. 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