13 Stimmen

Warum funktioniert :nth-child nicht im IE9?

Según diese Seite , :nth-child sollte im IE9 funktionieren, und ich habe es bereits ausprobiert und es hat gut funktioniert, aber auf diese Seite scheint es nicht zu funktionieren. Betrachten Sie die Seite in Chrome, um das beabsichtigte Verhalten zu sehen, und im IE werden Sie sehen, dass es nicht funktioniert. Sie können dies wahrscheinlich mit einem Web-Inspektor sehen, aber für Ihre Referenz, die relevanten Zeilen von CSS sind;

.ad_widget:nth-child(3n+2) { background: #efefef; }
.ad_mrow {background: #efefef;}`

Ich bin ratlos. Irgendwelche Ideen?

18voto

Phil Factor Punkte 3104

Aus irgendeinem Grund, den ich nicht nachvollziehen kann, wechselt der IE9 standardmäßig in den Kompatibilitätsmodus, wenn er Intranetseiten oder eine HTML-Seite, die als Datei auf einem PC gespeichert ist, ansieht. Kompatibilitätsmodus bedeutet, dass Dinge wie in einem dummen alten Browser wiedergegeben werden. Das bedeutet, dass beim Entwerfen von Inhalten für eine Website und beim Versuch, eine Vorschau von Ihrer Lieblings-IDE im IE9 anzuzeigen, keine der CSS3-Elemente funktionieren. Sie müssen im IE9-Menü auf Extras -> Einstellungen für die Kompatibilitätsansicht" klicken und dann das lästige Kontrollkästchen für die Anzeige von Internet-Sites in der Kompatibilitätsansicht" deaktivieren. Von da an funktioniert der elende Browser wie jeder andere vernünftige Browser, z. B. Safari. Warum haben sie das getan? Das weiß nur der Himmel, aber ich habe ewig gebraucht, um diese einfache Lösung zu entdecken, weil ich immer meinem Code die Schuld gegeben habe.

8voto

Jay Sullivan Punkte 15833

Hier sehen sie gleich aus. Sind Sie sicher, dass Sie nicht im Kompatibilitätsmodus sind?

2voto

user2449231 Punkte 474

Meine Version von IE9 war im IE8-Rendering-Modus gesperrt, der den folgenden Selektor nicht anwendete:

 .parentClass > div:nth-child(n+2) .childClass

Hier finden Sie die Optionen zum Ändern der Einstellungen:

Where in IE9 to Adjust Browser and Document mode

0voto

Timothy Strimple Punkte 22366

Bei mir scheint es zu funktionieren. IE9

Chrome

-3voto

diyism Punkte 11786

<!DOCTYPE html> wird den Quirk-Modus nicht beenden, <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> fait.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X