2010-10-12 13 views
19

Oft sehe ich dieses Doctype Deklaration auf einigen Seiten, die ich aufrufeHTML 5 Doctype und IE 6

<!DOCTYPE html> 

ich einige weiche Forschung gemacht und das ist HTML 5 Doctype-Deklaration. Moderne Browser können dies interpretieren und würden gezwungen sein, im Standards-Modus zu arbeiten.

Meine Frage ist, einige meiner Zielbenutzer verwenden immer noch IE6. Wie wird IE6 reagieren, wenn ich eine solche Doctype-Deklaration deklariere?

Erhalte ich in diesem Fall einen Nutzen oder Verlust?

Danke.

Antwort

18

Kurze Antwort: der HTML5 Doctype funktioniert gut in IE6.

Längere Antwort: siehe Henri Sivonen's comprehensive research der Auswirkungen der verschiedenen Doctypes auf verschiedenen Browsern.

+0

Ausgezeichneter Blog, den du da hast. Vielen Dank! –

10

Es gibt keine Nachteile bei der Verwendung des HTML5 Doctype in IE6. Der Vorteil ist ein kürzerer Doctyp, der leichter zu merken ist.

Allerdings hat IE einen seltsamen Fehler, wo, wenn Sie HTML5-Tags verwenden, die es nicht bereits erkennt, sie nicht mit CSS gestylt werden können. Der Browser verhält sich so, als wäre das Tag nicht da. Der Inhalt wird jedoch weiterhin gut dargestellt.

Um diesen Fehler zu umgehen, wenn Sie createElement mit dem Namen des HTML5-Tags aufrufen, das Sie auf Ihrer Seite verwenden möchten, ermöglicht der Browser Ihnen dann, sie mit CSS zu stylen. Also, wenn Sie dies tun:

document.createElement('video'); 

Bevor irgendwelche <video />-Tags auf Ihrer Seite, wird es ermöglicht es Ihnen, die richtigen Styling mit dem Tag anzuwenden. Denken Sie daran, dass der Browser immer noch nichts mit dem Tag machen wird. Sie können einfach CSS darauf anwenden.

Um diesen Vorgang zu vereinfachen, ist es üblich, this HTML5 shim library auf Ihrer Seite zu verwenden. Fügen Sie dies einfach in Ihr Dokument vor CSS oder HTML5-Elemente.

+0

Ausgezeichnete Antwort Dan, danke für die Tipps. –