HTML/CSS, die der IE Nicht anzeigen mein dropdown-Menü z-index bezogen
Ich aus irgendeinem Grund nicht anzeigen das dropdown-Menü im IE, wenn ich einen z-index
im header einer beliebigen Anzahl. Wenn ich es entfernen, es funktioniert. Allerdings die dropdown erscheint dann hinter den container und den Inhalt in Firefox und Chrome. Also entweder ich nehme es oder lassen Sie es, ich kann nicht scheinen, um alle Browser. Also habe ich versucht, einen separaten IE-stylesheet ohne z-index, aber das funktioniert nicht. Ich weiß, das separate IE-CSS arbeitet, da änderte ich die Hintergründe, aber es nutzt dem dropdown-Menü in der master-stylesheet.
Website www.stingrayimages.ca
Danke für Eure Hilfe
Edit:, So können nur sagen, ich habe alles auf Arbeit auf den IE seit Ihr immer den IE, gibt das Probleme. Aber jetzt ist das dropdown Menü erscheint hinter den Inhalten, die auf anderen Browsern wie firefox und chrome. Alles was ich Tat, war, entfernen Sie den z-index in den #Kopf div. Jedenfalls beheben Sie das dropdown-Menü, ohne Zugabe von z-index, um die Kopf-div?
Edit: ich habe die dropdown-Liste arbeiten auf dem IE9 firefox und chrome. Nicht IE 6, es ist einfach alles explodiert.
#head {
position:relative;
height: 140px;
width: 100%;
background: #FFF;
filter:alpha(opacity=93);
padding-top:20px;
/* CSS3 standard */
opacity:0.93;
-moz-box-shadow: 0 0 5px black;
-webkit-box-shadow: 0 0 5px black;
box-shadow: 0 0 5px black;
z-index:1;
}
Wenn es ein Z-index Problem, es ist oft aufgrund einer Eltern-element braucht einen höheren z-index statt.
Aktualisiert unten meine Antwort, aber Sie sollten in der Lage sein, um Weg mit keiner der Positionierung und verlassen sich auf Natürliche Reihenfolge für den größten Teil und nur
position and
z-index` Menü für Kinder.InformationsquelleAutor Resz | 2011-04-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
OK, also ich hatte einen Blick und es gibt gute Nachrichten und schlechte 😉
den filter "Deckkraft" in der
#head
div bedeutet, dassoverflow: hidden
ausgelöst werden, weshalb auch keine Menüs (es ist die unglückliche Nebenwirkung der Filter und der überlauf fürchte ich).. entfernen, und Sie können den z-index, die Sie brauchen, sowiesonächsten zu Holen Sie sich die Transparenz (Opazität) für die dropdowns können Sie einfach
rgba(255,255,255,0.9)
auf die#nav ul li ul
Regel statt#fff
; (obwohl verlassen#fff
vor, dass die Regel für fallback für Browser, die das nicht tun könnenrgba()
noch.. Lesen Sie mehr!)Dass fast alle glücklich - jetzt können Sie auch tun
rgba()
Transparenz für den IE mit dem gradient-filter..also die Regel, die ich landete mit aussah, wie dieser (in einem IE conditional comment):
und ich dachte, es wäre gut zu gehen..
ABER die Schlechte Nachricht
das Verhalten ist auskommentiert, da Sie können nur eine oder das andere, Transparenz oder abgerundete Ecken 🙁 anscheinend
Ich nicht zu viel Forschung, obwohl, so YMMV
Habe ich auch bemerkt, ein problem oder drei in IE7, nicht sicher, ob Sie unterstützen wollen, dass aber im Falle Sie tun.. oder überprüfen möchten, meine Letzte code die er bekam zu diesem Zeitpunkt klebte ich es in PasteBin
code ersetzt deine Haupt-CSS - die
#head
Regel und ganzen/*navigation*/section
Update: noch mehr gute Nachrichten und ein wenig schlecht!
du kann haben die Transparenz und die abgerundeten Ecken durch CSS3 PIE eigene
-pie-background
Eigenschaft, aber nicht die box-Schatten, die Art und Weise PIE beschäftigt sich mit der box-shadow bedeutet, es füllt den div anstatt Zeichnung nur auf der Außenseite, so dass die-pie-background
Lesen derrgba
hintergrund ist transparent, zeigt aber die graue Farbe für den Schatten!Meine Lösung:
Ich habe eine Grenze, um make-up für den Verlust von box-shadow, es ist nicht auf der Suche zu schlecht, und es funktioniert über IE ist 😉
hier ist ein update zu der ich eine bedingte Kommentar oben:
InformationsquelleAutor clairesuzy
Ich bin nicht sicher, welche version des IE du ein problem mit, aber ich habe versucht, im IE6 und IE7 und das Menü-system ist völlig kaputt. Ich habe nicht IE8, 9 oder 10 testen hier, aber ich werde eine Vermutung zu einer Lösung trotzdem!
Wenn Sie fügen Sie eine
z-index
undposition
zu den#container
als gut, es sollte Ihr problem lösen.z-index
gilt nur für positionierte Elemente.Ist es auch lesenswert Überlappende und z-index, die fasst die Eigenschaften und beschreibt auch die Probleme bei der Verwendung von
z-index
und IE.Edit: Wow, ich wusste nicht, was falsch war, bis ich eine Maschine gefunden, mit IE8 auf. Ich denke, Sie haben falsch verstanden, die standard-CSS - und IE-spezifische CSS - Prinzip leicht. Die IE-spezifischen CSS-Datei(en) sollte nur enthalten, die Eigenschaften, unterscheiden sich von den standard diejenigen. Ihre
ie-style.css
Datei enthält Duplikate von all den Regeln und wird für alle Versionen von IE. IE8 ist viel mehr standards konform als IE6/7 und Sie selten zu überschreiben CSS-Datei für diese version.So IE haben mehrere Kopien der gleichen Art angewendet wird. Unter normalen Umständen die meisten Browser können zurecht mit dieser Situation, aber eines der Duplikate ist der IE-spezifischen
filter
Eigenschaft.Haben Sie
filter:alpha(opacity=93);
in beidenstyle.css
undie-style.css
obwohl es sollte wirklich nur gehören, in IE6/7 CSS-Datei als IE8-Filter funktionieren anders. Wenn Sie entfernen diefilter
aus beide stylesheets dann das Menü korrekt angezeigt, im IE8.Wenn Sie die "Deckkraft", um die Arbeit im IE6 oder IE7, schlage ich die Schaffung einer speziellen CSS-Datei für diesen Browser und die Verwendung bedingter Kommentare enthalten, die es nur für diese Versionen.
Danke! Sollte ich jedoch übersichtlicher gewesen... ich habe den IE Tester, aber ich bin auf Windows XP mit IE6 installiert und IE8 funktioniert nicht unter Windows XP ohne IE7 als installiert browser. Eines Tages werde ich bekommen, die Microsoft-VM alles richtig 🙂
Ah okay :D, es ist ein sehr nettes tool!
Leider nicht beheben kann. Ich habe versucht viele Kombinationen mit z-index, aber kann nicht scheinen, um zu arbeiten.
Aktualisiert meine Antwort, es sieht aus wie die
filter
ist nicht korrekt für den IE8.InformationsquelleAutor andyb
Haben Sie einen Blick auf diese Lösung : http://webdemar.com/webdesign/superfish-jquery-menu-ie-z-index-bug/
Andere Lösung, die ich bereits benutzt, ist ganz einfach, aber ein Schmerz in der *. Sie müssen alle übergeordneten container eine bestimmte niedrigeren z-index-Wert als die, die Sie wollen, um zu zeigen, auf der Oberseite des anderen.
Etwa so :
Update 1
Menü nicht korrekt angezeigt in meinem chrome so habe ich Fix den #Kopf z-index 80 und es Tat viel besser aus. Tun Sie Folgendes, um das layout das gleiche in IE und Chrome und Firefox. Watch out, obwohl, ich nur getestet, diese änderung auf der homepage.
Hinzufügen .conbox-Klasse :
Logo richtig
Entfernen Sie die #nav Positionierung
Das problem ist, ich kann nicht einmal sehen, eine Auswirkung auf die Menü-mouseover im IE!!
Geben Sie mir eine minute, ich werde sehen, was ich tun kann 🙂 w3-Validierung - Beheben Sie diesen Fehler, sollte es helfen, ich ll Blick in die css!
Ich kann es nicht reparieren, ich bin zu kämpfen mit dem problem!
InformationsquelleAutor David
Einstellung z-index: -1 für Elemente, die Menü-overlays und z-index von Männern div dieses problem gelöst, für mich.
#bodyWrapper
{
background: none repeat scroll 0 0 #E4F7FE;
overflow: hidden;
position: relative;
width: 100%;
padding: 0 0 60px;
z-index: -1;
}
InformationsquelleAutor Jonah Cohn