2010-10-12 8 views
19

vedo spesso questa dichiarazione DOCTYPE su alcune pagine che sono la visualizzazioneHTML 5 Doctype e IE 6

<!DOCTYPE html> 

Ho fatto qualche ricerca morbida e questo è HTML 5 dichiarazione DOCTYPE. I browser moderni possono interpretarlo e farebbero forza per operare sulla modalità Standard.

La mia domanda è, alcuni dei miei utenti di destinazione stanno ancora utilizzando IE6. Come risponderà IE6 quando dichiaro tale dichiarazione di tipo doctype?

In questo caso otterrò alcun vantaggio o perdita?

Grazie.

risposta

18

Risposta breve: il doctype HTML5 funziona perfettamente in IE6.

Risposta più lunga: vedere Henri Sivonen's comprehensive research degli effetti di diversi doctype su diversi browser.

+0

Ottimo blog ci sei arrivato. Grazie! –

10

Non ci sono aspetti negativi nell'utilizzo del doctype HTML5 in IE6. Il vantaggio è un doctype più breve che è più facile da ricordare.

Tuttavia, IE ha un bug strano in cui se si utilizzano tag HTML5 che non riconosce già, non possono essere abbinati a CSS. Il browser si comporterà come se il tag non fosse presente. I contenuti continueranno a essere benissimo.

Per ovviare a questo errore, se chiami createElement con il nome del tag HTML5 che desideri utilizzare nella tua pagina, il browser ti consentirà di modificarli con CSS. Quindi, se si esegue questa operazione:

document.createElement('video'); 

Prima di qualsiasi <video /> tag sulla tua pagina, vi permetterà di applicare uno stile adeguato al tag. Tieni presente che il browser non eseguirà ancora nulla con il tag. Sarai in grado di applicare CSS a questo.

Per semplificare questo processo, è prassi comune utilizzare this HTML5 shim library nella pagina. Basta includere questo nel documento prima dello qualsiasi elemento CSS o HTML5.

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

Ottima risposta Dan, grazie per i suggerimenti. –