2010-10-12 9 views
19

często widzę tej deklaracji DOCTYPE na niektórych stronach, że jestem oglądaniaDoctype HTML 5 i IE 6

<!DOCTYPE html> 

Zrobiłem trochę miękkie badania i to jest HTML 5 deklaracja doctype. Nowoczesne przeglądarki potrafią to zinterpretować i zmuszą do działania w trybie standardów.

Moje pytanie brzmi, niektórzy z moich docelowych użytkowników nadal używają IE6. W jaki sposób IE6 zareaguje, gdy zadeklaruję taką deklarację doctype.?

Czy otrzymam w takim przypadku jakąkolwiek korzyść lub stratę?

Dzięki.

Odpowiedz

18

Krótka odpowiedź: typ dokumentu HTML5 działa poprawnie w IE6.

Dłuższa odpowiedź: zobacz Henri Sivonen's comprehensive research efektów różnych doctypesów w różnych przeglądarkach.

+0

Doskonały blog, który tam masz. Dzięki! –

10

Nie ma wad w używaniu typu dokumentu HTML5 w IE6. Korzyścią jest krótszy typ dokumentu, który jest łatwiejszy do zapamiętania.

Jednak IE ma dziwny błąd, w którym jeśli używasz znaczników HTML5, których jeszcze nie rozpoznaje, nie mogą one być stylizowane za pomocą CSS. Przeglądarka będzie działać tak, jak tagu nie ma. Treść nadal będzie jednak dobrze wyglądać.

Aby obejść ten błąd, jeśli zadzwonisz pod numer createElement z nazwą znacznika HTML5, którego chcesz użyć na swojej stronie, przeglądarka pozwoli ci na ich stylowanie za pomocą CSS. Więc jeśli to zrobić:

document.createElement('video'); 

Przed wszelkimi <video /> tagi na swojej stronie, to pozwala na zastosowanie właściwej stylizacji do znacznika. Pamiętaj, że przeglądarka nadal nie zrobi nic z tagiem. Będziesz mógł zastosować do niego CSS.

Aby uprościć ten proces, na twojej stronie często stosuje się this HTML5 shim library. Po prostu umieść to w swoim dokumencie przed dowolnymi elementami CSS lub HTML5.

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

Doskonała odpowiedź Dan, dzięki za wskazówki. –