2013-02-15 12 views
10

Ich benutze die folgenden HTML5 Elemente in meinen Seiten: Header, Artikel, Abschnitt und Nav. Block, und ich schließe die HTML5 Shiv mit einer bedingten Anweisung in der Kopfzeile:: Jetzt habe ich alle oben genannten HTML5-Elemente wie Display eingestelltHTML5 shiv werden auch für IE9 benötigt, um HTML5 Elemente zu unterstützen

<!--[if lt IE 9]> 
<script src="dist/html5shiv.js"></script> 
<![endif]--> 

Die Seite funktioniert in IE7 feinen & IE8 - darauf hinweist, dass html5shiv ist in der Tat ist es Magie. Allerdings, wenn ich die Website in IE9 testen fehlt es Styling für den gesamten Inhalt in HTML5-Elementen.

Sobald ich die bedingte Anweisung ändern:

<!--[if IE]> 
<script src="dist/html5shiv.js"></script> 
<![endif]--> 

Die html5 Elemente und es ist jetzt Kinder das richtige Styling angewendet bekommen. Ich überprüfte meine IE-Version und es sagt, dass ich IE Version 9.0.8112.16421 habe.

Ich sollte auch erwähnen, dass die Websites mit PHP erstellt und durch die Verwendung von PEAR Cache_Lite zwischengespeichert werden. Tests, die auf einer einfachen statischen HTML-Seite durchgeführt werden, ergeben jedoch die gleichen Ergebnisse für mich.

Irgendwelche Ideen ??

+0

Was ist der 'Doctype' Ihrer HTML-Datei? Benutzt du 'X-UA-KOMPATIBEL'? übrigens. Ich denke, im zweiten Beispiel meinst du '' –

+0

wie von HTML5 empfohlen. Unter dem Kopfelement verwende ich . Danke, dass du das bemerkt hast, ich habe meine Frage aktualisiert - ich benutze [if IE] –

+0

und du bist sicher, dass du nicht '

Antwort

29

ich es endlich geschafft, um herauszufinden, was das Problem war. Ich hatte einen Kommentar oben auf meiner Website, vor dem Doctype-HTML-Tag. Das scheint die Fähigkeit des IE9, die HTML5-Elemente zu erkennen, zu brechen. Diese

ist, was ich hatte:

<!-- Served From Cache: Wednesday 13th of February 2013 03:02:22 PM --> 
<!DOCTYPE html> 
<html> 
    <head> 

So war ich dann in der Lage, dies zu beheben, indem Sie den Kommentar nach unten unterhalb des Doctype bewegen.

+12

+ 1 um hierher zu kommen und die Gemeinde wissen zu lassen. Vielleicht möchten Sie dies auch als die richtige Antwort markieren. In der Regel sollte nichts vor dem Doctype stehen, denn, wie Sie bemerkt haben, beginnen seltsame Dinge zu passieren! –

0

diesen Code Versuchen

<!--[if lt IE 9]> 
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> 
<![endif]--> 
+3

Wie hilft das beim IE9 Problem? – JJJ

+1

googlecode.com/svn/trunk/html5 kann IE9 helfen –

+2

Haben Sie die Frage gelesen? Er benutzt schon ein Stück. * "Sobald ich die bedingte Anweisung ändere: ... Die HTML5-Elemente und die Kinder bekommen nun den richtigen Stil." * Der OP möchte wissen, warum IE9 die Elemente nicht * style * shiv, da IE9 sollte HTML5-Elemente nativ unterstützen. In jedem Fall wird das Schreiben von '' nichts in IE9 tun. – JJJ

Verwandte Themen