A declaração <!DOCTYPE> não é uma tag HTML; ela é uma instrução para o browser sobre qual versão a página HTML está escrita. e deve ser a primeira declaração do documento HTML.
No HTML 4.01, a declaração <!DOCTYPE> faz referência a um DTD, por que o HTML 4.01 foi baseado no SGML. O DTD especifica as regras para a linguagem de marcação para que os navegadores renderizem o conteúdo corretamente.
HTML5 não é baseado no SGML, e, portanto, não necessita de uma referência para um DTD.
HTML 4.01 e HTML 5
Existem três diferente declarações <!DOCTYPE> no HTML 4.01. No HTML5 existe apenas uma:
<!DOCTYPE html>
Elementos HTML e DOCTYPE
Veja na tabela todos os elementos HTML e em qual <!DOCTYPE> cada elemento aparece.
Dicas e Notas
Nota: A tag <!DOCTYPE> não tem uma tag de fechamento.
Dica: a declaração <!DOCTYPE> NÃO é case sensitive.
Dica: Use o validador W3C para checar se você escreveu um documento HTML / XHTML válido.
Declarações mais comuns de DOCTYPE
HTML 5
<!DOCTYPE html>
HTML 4.01 Strict
Este DTD contém todos os elementos e atributos HTML, mas NÃO INCLUI elementos de apresentação ou depreciados (como font). Framesets não são permitidos.
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”>
HTML 4.01 Transitional
Este DTD contém todos os elementos e atributos HTML, INCLUINDO elementos de apresentação e depreciados (como font). Framesets não são permitidos.
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
HTML 4.01 Frameset
Este DTD é igual ao HTML 4.01 Transitional, mas permite o uso de conteúdo frameset.
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Frameset//EN” “http://www.w3.org/TR/html4/frameset.dtd”>
XHTML 1.0 Strict
Este DTD contém todos os elementos e atributos HTML, mas NÃO INCLUI elementos de apresentação ou depreciados (como font). Framesets não são permitidos. A marcação também deve ser escrita como um bem formado XML.
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
XHTML 1.0 Transitional
Este DTD contém todos os elementos e atributos HTML, INCLUINDO elementos de apresentação e depreciados (como font). Framesets não são permitidos. A marcação também deve ser escrita como um bem formado XML.
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
XHTML 1.0 Frameset
Este DTD é igual ao XHTML 1.0 Transitional, mas permite o uso de conteúdo frameset.
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Frameset//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd”>
XHTML 1.1
Este DTD é igual ao XHTML 1.0 Strict, mas permite que você adicione módulos (por exemplo para fornecer suporte ao Ruby para idiomas do Leste Asiático).
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN” “http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”&g