2010-08-21 22 views
6

in IE7 einem seltsamen Problem zu haben. In einer Reihe von Punkten habe ich ein DIV, die Position hat: auf sie (faux Drop-Down) absolut, wenn etwas dahinter ist, die Position hat: relativ der relativ positionierter Artikel durch den anderen div zeigen.position: relative Position erscheinen über: absolute

relativly positioniert Element hat keine Z-Index gesetzt, während das absolut positionierte Element (die, die ich oben wollen) einen Z-Index von 1000.

http://skitch.com/louiswalch/dub5h/microsoft-windows-vista

+1

möglich Duplikat von [IE Z-Index relativen/absoluten Fehler in der Liste] (http://stackoverflow.com/questions/798482/ie-z-Index-relative-absolute-bug-in-list) –

Antwort

22

hat ich Sie vermuten, dass‘ habe bereits versucht, aber eine z-index auf relativ positioniertes Element gesetzt, das niedriger ist als Ihr absolut z-index als erster Test des positionierten Elements.

Wenn das nicht funktioniert, müssen Sie sicherstellen, dass beide Elemente im gleichen stacking context sind. In IE, wenn Sie die position CSS-Regel auf ein Element anwenden, erzeugt er einen neuen Stapelkontext in diesem Element. Das bedeutet, dass z-Index wird nur richtig innerhalb dieses Elements für Kinder und Kinder in anderen Kontexten Stapel respektiert werden mit unteren Z-Indizes noch oben stapeln kann.

In Ihrem Fall müssen Sie entweder das Dropdown und die Schaltfläche im selben Stapelkontext platzieren oder wenden Sie den Z-Index auf die 2 Elemente an, die ihre separaten Stapelkontexte generieren.

+0

Ahh vor Ort Das ist das Problem. Problem ist, ich bin nicht sicher, ob ich sie in den gleichen Stapelindex setzen kann. Es passiert an einer anderen Stelle auf der Website, die ein komplexeres Layout hat, und das Element mit der relativen Positionierung befindet sich auf einer völlig anderen Ebene des DOM. Ich habe versucht, den Gegenstand zu geben, der durch einen Z-Index knallt, der niedriger ist als der Gegenstand darüber, und er zeigt es trotzdem. Was bedeutet "oder wenden Sie Z-Index auf die 2 Elemente an, die ihre separaten Stapelkontexte erzeugen." bedeuten? –

+7

Was ich meine ist, dass Sie die 2 Elternelemente mit einem "Position" Set (diese erstellen die 2 separate Stapelkontexte) und setzen Sie "Z-Index" auf ihnen. Wenn Ihr Button zum Beispiel in einem Container mit dem Namen '# content' verschachtelt ist und Ihr Drop-down in' # header' steht, können Sie '#content {z-index: 1} und' #header {z-index: 2} 'setzen . Vorausgesetzt, '# header' und' # content' befinden sich im selben Stack-Kontext, wird dies Ihr Problem beheben. – Pat

Verwandte Themen