2011-05-09 9 views
18

Si la página web tiene doctype como HTML5.¿Qué modo es IE6 si doctype es html como HTML5?

<!doctype html> 

¿Qué modo de renderización es para IE6?

El document.compatMode dice CSS1Compat. Parece el modo Estándar, no el modo peculiar. Pero, ¿es verdad? IE6 se lanza antes de que se cree el término HTML5. ¿Cómo puede IE6 reconocer HTML5 doctype?

Respuesta

28

El doctype HTML5 se eligió específicamente porque era la cadena de caracteres doctype más corta posible que activaba el modo estándar en todos los navegadores (empezando por IE6). Esta fue una decisión deliberada basada en lo que funcionaría en los navegadores que ya estaban en uso.

En otras palabras, si especifica <!doctype html>, IE6 debe pasar al modo estándar, no al modo peculiar.

La razón por la que funciona es porque IE6 (y otros) son bastante indulgentes con el doctype; Están asumiendo que si hay un tipo de documento allí, el desarrollador probablemente tenga la intención de estar en modo estándar. Si no lo reconocen, están asumiendo que el desarrollador cometió un error tipográfico o que se inventó un nuevo tipo de documento que no existía cuando se lanzó el navegador; De cualquier manera, el navegador intenta aprovecharlo al máximo y trabajar en modo estándar. El equipo de HTML5 descubrió que html era la cadena de caracteres doctype más corta posible que desencadenó este comportamiento, de ahí su uso como el doctype HTML5.

Lo que el doctype HTML5 no hace por supuesto, activa viejos navegadores como IE6 para admitir cualquiera de las nuevas características HTML5. Esto es obvio en realidad. Productos como Modernizr y HTML5Shiv pueden ayudar con eso, pero solo hasta cierto punto.