Pergunta

  • O que é DOCTYPE e por que eu quero usá-lo?
  • Quais são os diferentes DOCTYPEs eu posso usar?
  • Qual é a diferença entre as normas e modo de peculiaridades, e quais são algumas peculiaridades que pode executar em com DOCTYPEs diferente definidos?

Por fim, qual é o DOCTYPE adequado que eu deveria estar usando?

Foi útil?

Solução

Basicamente, o DOCTYPE descreve o HTML que será usado em sua página.

Os navegadores também usar o DOCTYPE para determinar como processar uma página. Não incluindo um DOCTYPE ou incluindo um DOCTYPE incorreta pode provocar peculiaridades modo. O kicker aqui é que o modo de peculiaridades no Internet Explorer é muito diferente de peculiaridades no modo de Firefox (e outros navegadores), o que significa que você vai ter um muito trabalho mais difícil tentar assegurar sua página funciona de forma consistente em todos navegadores se as páginas são renderizadas no modo peculiaridades do que você vai se eles são processados ??no modo de padrões.

Wikipedia tem um resumo mais profundo do na prestação ao usar vários DOCTYPEs . XHTML é habilitada por certos doctypes, e há um pouco de debate sobre o uso de XHTML que é coberto bem em XHTML -. mitos e realidade

Há diferenças sutis entre os diferentes "queixa padrões" doctypes renderização, como o doctype HTML5 (<!DOCTYPE html>, antes de HTML5 única conhecida como a "doctype magro" que não provocam padronizado renderização em navegadores mais antigos) e outras DOCTYPEs como este um para HTML 4.01 transição:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Outras dicas

O DOCTYPE diz o agente consumindo usuário (navegadores, rastreadores da web, ferramentas de validação) que tipo de documento é o arquivo. Usando ele garante que o consumidor analisa corretamente o HTML como você pretendeu.

Existem várias DOCTYPES diferentes para HTML, XHTML, e conjuntos de quadros e cada um deles tem dois modos estritas e transitórias. Estrita diz que sua marcação está usando os padrões definidos exatamente. Consulte W3C DTDs página para mais detalhes.

Quirksmode é basicamente o método de layout das guerras do navegador dias em que os padrões foram muito menos respeitada e definido. Geralmente uma página modo de padrões, que é válido, irá layout mais consistente em vários navegadores, mas pode faltar certas características que você necessita. Uma dessas características é atributo de destino do tag âncora. A Quirksmode local é um grande recurso para essas diferenças.

Um pensamento final é que o novo padrão HTML5 propõe a utilização de um DOCTYPE muito simples:

<!DOCTYPE html>

Usando este DOCTYPE é uma maneira compatível para a frente para especificar que suas páginas estão em modo de padrões, e são HTML. Este é o método que o Google usa, e é razoavelmente fácil de lembrar. Eu recomendo usar este DOCTYPE a menos que você planeja usar XHTML.

doctype define um qual versão do HTML / XHTML seus usos de documentos. Você iria querer usar um doctype para que quando você executar o código através de validadores, os validadores saber qual versão do HTML / XHTML para verificar contra. Esta página fornece uma boa visão geral:

Não se esqueça de adicionar um doctype

Common doctypes você uso pode são listadas aqui:

lista recomendada de DTDs

Qual doctype você deve ir com depende do código que você está usando, mas para ter uma idéia, tente executar o código através do validador do W3C e usar o Tipo de Documento menu drop-down no menu "Mais opções" para tentar diferentes doctypes fora.

W3C Markup Validation Service

Em HTML (incluindo XHTML), usado em páginas da web, DOCTYPE é uma cadeia que desencadeia um dos poucos modos navegador (modo de peculiaridades, modo de padrões, de modo quase padrões), dependendo da grafia exata do DOCTYPE. Você quer usá-lo para selecionar um modo de navegação que melhor combina com a sua página.

Formalmente, em SGML e XML, uma declaração DOCTYPE é uma referência a uma Document Type Definition (DTD), que especifica as regras de sintaxe formais da linguagem de marcação. Nenhum navegador já usou DTDs para qualquer coisa ou mesmo acessada eles. No entanto, eles são usados ??por SGML e validadores de marcação XML, como o W3C Validador de Marcação , exceto no modo HTML5. Portanto, a escolha de DOCTYPE determina como um validador funciona se o documento seja apresentado a ele. No entanto, o modo de operação de validação pode também ser seleccionado na sua interface de utilizador. (SGML e processadores XML pode usar DOCTYPEs em diferentes outras maneiras, também, mas a questão é, aparentemente, destina-se a ser limitado ao contexto HTML e navegadores da web e software intimamente relacionados.)

Não existe uma lista oficial de DOCTYPEs. Cada especificação HTML ou projecto define sua própria DOCTYPE, ou DOCTYPEs. O conjunto de DOCTYPEs reconhecido pelos navegadores quando o modo de seleção varia conforme o navegador. Na prática, não há nenhuma razão para usar uma DOCTYPE diferente <DOCTYPE html> como definido em HTML5 , embora HTML5 também lista alguns “DOCTYPEs legacy”. Você pode usar esse DOCTYPE se você quiser modo padrão (recomendado para novas páginas) e usar nenhum DOCTYPE se você quiser peculiaridades modo (que pode ser necessário para as páginas de legado).

“modo padrão” geralmente significa que o modo de operação em que um navegador segue HTML, CSS, DOM e outras especificações o melhor que pode. Ele não costuma significar a conformidade total. “Modo quirks” é diferente em diferentes navegadores, mas, geralmente, isso significa uma tentativa de imitar o comportamento dos navegadores muito antigos como o IE 5. O objetivo é manter páginas antigas de trabalho, sob a suposição de que eles podem contar com recursos e bugs no navegadores antigos. Ver a descrição O que acontece no modo Quirks? Note-se que há uma bastante diferente, conceito mais limitado de “modo quirks” do HTML5, que se assemelha ao documento chamado modo quirks padrão de vida .

Um problema típico é aquele elemento larguras são calculados de forma diferente no modo de peculiaridades e no modo de padrões. Isto significa que o layout de uma página pode ser mais ou menos alterado ou mesmo totalmente desarrumada, se uma página projetada para trabalhar em modo quirks é visto no modo de padrões (ou vice-versa).

Assim que você deve usar <!DOCTYPE html> para novas páginas e manter o que DOCTYPE (se houver) você estiver usando para páginas antigas.

No entanto, peculiaridades meios modo, em alguns navegadores, que muitos novos recursos do CSS não são suportados. Isto significa que se você quer melhorar uma página antiga com alguma característica CSS3, pode muito bem ser necessário mudar para um DOCTYPE que o modo de padrões gatilhos. Nesse caso, é preciso rever e testar a página para ver se ele será executado no modo de padrões.

Doctypes dizer ao navegador em que língua a página é escrito em, seja HTML ou XHTML. Por exemplo,

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">

dizer ao navegador para renderizar a página como HTML4 strict. navegadores mais antigos usados ??para processar páginas incorretamente e navegadores, portanto, mais recentes simular erros dos navegadores mais antigos quando eles encontram um doctype de idade.

Hoje você deve usar pelo menos HTML4 ou melhor XHTML.

A entrada de blog sobre doctypes é corrigir o seu site com o DOCTYPE certo! (de A List Apart ).

Em primeiro lugar não há um doctype você deve estar usando, mas a maioria dos designers tentar fazê-lo funcionar dentro XHTML 1.0 Strict.

Um doctype é nada mais do que uma declaração de que marca você pode usar dentro de seu html (embora os navegadores podem usar mais ou menos do que aquilo que é definido) Você pode realmente abrir o arquivo doctype e começar a ler ( XHTML 1.0 Strict )

Se você não especificar um tipo de documento, o navegador vai tentar o seu melhor para adivinhar, mas nem sempre atinge o tipo correto.

Modo Quirks é apenas uma técnica usada pelos navegadores para ser compatível, um grande exemplo de modo peculiaridades é como IE processa caixas

Na web, um tipo de documento não faz nada, mas dizer a Brower se você quiser normas, quase normas, ou o modo de peculiaridades.

O que muda na peculiaridades modo depende do navegador: Firefox, Opera, Safari e Chrome implementar um conjunto limitado de peculiaridades, como a remoção do espaço para descenders texto no código como <table><tr><td><img></td></tr></table> (solução: td img { vertical-align:bottom; }). IE, por outro lado, reverte para o motor de renderização no IE 5.5. Isso significa que você não vai ser capaz de usar qualquer dos novos recursos implementados desde 2000.

Para modo de padrões de gatilho, eu sugiro usar o doctype HTML5, <doctype html>, como é o mais fácil de lembrar.

Um doctype é um documento que descreve como o conteúdo de um xhtml-like documento pode parecer (como uma página da Web). Nota: Apenas isso define a sintaxe da referida página, o processamento da página não é definida pelo DTD

Por exemplo, um tipo de documento poderia definir como o <table>-tag pode parecer - os atributos que ele aceita, e que valores / valuetypes são aceitos para cada atributo. Pense nisso como um léxico para sua página atual.

Wikipedia tem uma página informativa sobre as várias Doctypes que estão em uso comum. Mente-lhe - não há nada que impeça você de criar seu próprio tipo de documento. As chances são, no entanto, que o navegador provavelmente não sabe como processar o documento.

Qual DTD para uso depende do que você está indo escrever. XHTML tem uma DTD totalmente diferente do HTML, por exemplo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top