Frage

ist, wird an der Arbeit in IE9 nicht HTML5 soll? Es funktioniert nicht wie für mich erwartet.

Hier ist mein HTML5 Code:

<!DOCTYPE html>
<html>
<head><title>

    Dripel - Welcome

</title>
    <!--[if lt IE 9]> 
        <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> 
    <![endif]-->
</head>
<body>
    <header>Welcome to Dripel</header>
    <section id="main">

        I am under development. Please check back later.

    </section>
    <footer>
    </footer>
</body>
</html>

Sie können es sehen unter http://www.dripel.com/ .

In IE 9, die <header> und <section> Elemente als Inline angezeigt werden. Beachten Sie, dass ich keine CSS zu dieser Zeit verwenden.

Jede Idee, was los ist?

War es hilfreich?

Lösung

Nach Tauchen Sie ein in HTML5, die finale Version des Internet Explorer 9 nicht haben dieses Problem .

Also ich denke, Sie dies sehen, weil IE9 noch in der Betaphase. Du hast Recht, sollten Sie dies nicht sehen, wenn sie veröffentlicht wird.

Es ist wahrscheinlich wert einschließlich der expliziten display: block für HTML5-Elemente sowieso. Sie (in der Regel) nie wissen, wann jemand zu sehen, den Code in einem Pre-HTML5-Browser gehen.

Andere Tipps

Dies gilt für anderen Browser zu, nicht nur IE. Das gleiche Verhalten kann auch für Firefox 3.6 zu beachten.

Da HTML5 nur einen Arbeitsentwurf ist, hat der Browser-Hersteller noch keine Standard-Stylesheet für diese Elemente erstellt, so standardmäßig Elemente inline angezeigt werden.

Verwenden Sie ein Reset-Stylesheet, das diese Elemente display: block gibt, wenn Sie sie verwenden möchten, wie:

article, aside, footer, header, hgroup, nav, section {
    display: block;
}

Kopiert von Chrome User Agent CSS :)


Wenn Sie weitere Informationen wünschen, auch dann - lesen Sie die Beta-Version Hinweise auf HTML5 . Nirgends wird es ausdrücklich fest, dass IE9 „Unterstützung“ diejenigen HTML5-Element. Ihr Konzept der Unterstützung ist auch schlecht definiert hier - was meinst du Unterstützung? Ein UA Sheet wie die oben? Unterstützung für generische Elemente nicht näher bezeichnete? (A-Funktion, die IE9 hat, so dass Sie ein kleines Skript nicht benötigen die Elemente vor, sie zu erstellen.)

Die HTML5-Spezifikationen spricht nur über die Semantik von jedem dieser Elemente, und nichts darüber, wie Browser sollten sie angezeigt werden soll. So erwarten Sie einen Browser, dass "Unterstützung" HTML5 do?

IE 9 unterstützt einige von HTML5. Also tun alle anderen Browsern. HTML5 ist noch nicht fertig, und IE 9 ist noch nicht abgeschlossen, und kein Browser unterstützt all HTML5. Zum Beispiel, dass kein Browser weiß, dass ich Unterstützung <style scoped> oder <iframe seamless> noch.

Ich würde nicht erwarten, dass jeder Browser alle HTML5 in einem Release zu unterstützen. HTML5 hat viele neue Funktionen, und es ist immer noch in einem Zustand des Flusses. Browser implementieren Funktionen einen nach dem anderen, manchmal mit Präfixen später zu vermeiden, Unverträglichkeit, manchmal in Beta- oder Entwicklerversionen, so dass das Design vor einem größeren Release getestet werden kann. Es ist nicht möglich, eine perfekte spec alle in einem Rutsch zu schreiben, und dann haben alle alles in einem Rutsch durchzuführen; stattdessen werden Merkmale experimentell umgesetzt, wird die Spezifikation um sie herum geschrieben, Dinge festgelegt sind, wird die Spezifikation aktualisiert, und so weiter, bis jeder glücklich ist, dass es alles ziemlich gut und ist in kompatible Weise zwischen verschiedenen Browsern implementiert. Es wird eine ganze Weile noch bevor all das für alle HTML5 passiert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top