Können Sie HTML5-Funktionen verwenden, ohne den HTML5-DOCTYPE zu deklarieren?

8

Also, zum Beispiel, wenn mein HTML-Dokument den HTML5-Doctype nicht deklariert, aber ich etwas in der HTML5-Spezifikation verwende, wird das noch funktionieren? Hat das bei manchen Browsern Probleme? Wird das Dokument noch validiert?

    
Mark Bubel 30.08.2011, 19:28
quelle

3 Antworten

9

Das hängt von den Zielbrowsern ab. Webkit-Browser, Firefox und Opera behandeln HTML5-Elemente ganz normal, auch wenn Ihr Doctype nicht HTML5 ist.

IE9 auf der anderen Seite (ich wette, Sie haben das gesehen), kann sich bei einer anderen Art von Doctype völlig anders verhalten. Wenn IE9 nicht im IE9 Standards-Modus ist (es könnte in Macken, IE8-Kompat, was auch immer) sein, wird nicht die HTML5-Funktionen in IE9-Standards unterstützen.

Im Grunde ist es Ihre Hauptsorge, dass Sie sicherstellen müssen, dass alle Browser in den strengen Standardmodus wechseln. Der einfachste Weg, dies zu erreichen, ist die Verwendung des HTML5 Doctypes, da er den Standardmodus in allen Browsern aktiviert - einschließlich älteren Browsern, die HTML5 nicht wirklich unterstützen.

    
Jani Hartikainen 30.08.2011, 19:41
quelle
1

Ja, Sie können es jedoch nicht validieren und möglicherweise in einigen oder allen Browsern seltsam aussehen. Du solltest es nicht tun. Wenn Sie HTML5 verwenden, deklarieren Sie einen korrekten Doctype: <!doctype html> .

In den HTML5-Spezifikationen heißt es, dass der Doctype nicht obligatorisch ist, jedoch existiert noch keine Browser-weite Browserimplementierung dieser Regel. In der Theorie sollten Sie es ohne Probleme tun können.

    
Madara Uchiha 30.08.2011 19:32
quelle
0

Sie können, aber das Verhalten ist nicht definiert. Dies bedeutet, dass Ihre Ergebnisse in den verschiedenen Browsern möglicherweise [inkonsistent] sind und unter Umständen aus unbekannten Gründen fehlschlagen.

Es wird definitiv nicht validiert, und es ist sicherlich nicht etwas, was Sie tun sollten.

    
Winfield Trail 30.08.2011 19:35
quelle

Tags und Links