No HTML (incluindo XHTML) usado nas páginas da web, o DOCTYPE é uma string que aciona um dos poucos modos do navegador (modo quirks, modo padrão, modo quase padrão), dependendo da ortografia exata do DOCTYPE. Você deseja usá-lo para selecionar um modo de navegador mais adequado à sua página.
Formalmente, em SGML e XML, uma declaração DOCTYPE é uma referência a uma Definição de tipo de documento (DTD), que especifica as regras formais de sintaxe da linguagem de marcação. Nenhum navegador já usou DTDs para qualquer coisa ou até mesmo os acessou. No entanto, eles são usados por validadores de marcação SGML e XML, como o W3C Markup Validator , exceto no modo HTML5. Portanto, a escolha de DOCTYPE determina como um validador funciona se o documento for enviado a ele. No entanto, o modo de operação do validador também pode ser selecionado em sua interface com o usuário. (Os processadores SGML e XML também podem usar DOCTYPEs de outras formas, mas a questão aparentemente se limita ao contexto HTML e aos navegadores da Web e softwares relacionados.)
Não existe uma lista autorizada de DOCTYPEs. Cada especificação ou rascunho HTML define seu próprio DOCTYPE, ou DOCTYPEs. O conjunto de DOCTYPEs reconhecidos pelos navegadores ao selecionar o modo varia de acordo com o navegador. Na prática, não há razão para usar um DOCTYPE diferente do <DOCTYPE html>
definido no HTML5 , embora o HTML5 também liste alguns "DOCTYPEs herdados". Você pode usar esse DOCTYPE se desejar o modo padrão (recomendado para novas páginas) e não usar o DOCTYPE se desejar o modo quirks (que pode ser necessário para páginas herdadas).
“Modo Standards” geralmente significa o modo de operação em que um navegador segue HTML, CSS, DOM e outras especificações da melhor maneira possível. Geralmente, isso não significa conformidade total. O "modo Quirks" é diferente em navegadores diferentes, mas geralmente significa uma tentativa de imitar o comportamento de navegadores muito antigos, como o IE 5. O objetivo é manter as páginas antigas funcionando, supondo que elas possam confiar em recursos e bugs no navegador. navegadores antigos. Veja a descrição O que acontece no modo Quirks? Observe que existe um conceito bastante diferente e mais limitado de "modo quirks" no HTML5, que se assemelha muito ao documento chamado Quirks Mode Living Standard .
Um problema típico é que as larguras dos elementos são calculadas de maneira diferente no modo quirks e no modo standard. Isso significa que o layout de uma página pode ser mais ou menos alterado ou até totalmente confuso, se uma página projetada para funcionar no modo quirks for visualizada no modo padrão (ou vice-versa).
Portanto, você deve usar <!DOCTYPE html>
para novas páginas e manter o DOCTYPE (se houver) que estiver usando para páginas antigas.
No entanto, o modo quirks significa, em alguns navegadores, que muitos novos recursos do CSS não são suportados. Isso significa que, se você deseja aprimorar uma página antiga com algum recurso CSS3, pode ser necessário alternar para um DOCTYPE que aciona o modo de padrões. Nesse caso, você precisa revisar e testar a página para ver se ela será executada no modo de padrões.