Pular para o conteúdo

Emanuel Felipe .NET

Desenvolvimento web, blogging, linux e um pouco mais.

Pesquisa

Quirks mode e Standards mode: Entendendo os modos de renderização

18 de maio de 2007 Padrões Web

Se você é do período sombrio da web, quando Netscape e Internet Explorer finalmente resolveram implementar o CSS (mesmo que não respeitando padrão algum), não deve ter boas lembraças de como os browsers renderizavam suas páginas. Apenas mais tarde os padrões do W3C ganharam força e os navegadores tiveram de implementá-los.

Netscape Internet Explorer Opera

Surgiu então um problema, com a renderização obedecendo os padrões muitos sites “quebrariam” por serem projetados para navegadores antigos. A solução foi que browsers novos passassem a ter dois modos de renderização: o Quirks mode e o Standards mode, também conhecido por Strict mode (existe ainda o Almost Standards mode, que é uma pequena variação do Standards mode).

Sites antigos continuariam sendo renderizados “corretamente” (do ponto de vista de como foram projetados) através do Quirks mode, que obedece regras sem muito sentido criadas no passado pelos browsers. Enquanto sites novos poderiam usufruir dos padrões criados pelo W3C pois seriam tratados pelo Standards mode. O navegador ficou responsável por escolher o modo apropriado através do Doctype usado (ou ausência de um). Veja uma tabela com possíveis declarações de Doctype e seu resultado em cada navegador.

O Quirks mode hoje é uma dor de cabeça para muitos desenvolvedores, é preciso estar ciente de qual modo de renderização está sendo usado em seu site para evitar problemas “misteriosos”. Muitas vezes o Internet Explorer volta a usar o Quirks mode por detalhes como uma declaração XML ou mesmo um comentário antes do Doctype, se você desenvolve seguindo os padrões isso pode facilmente quebrar seu layout.

(Almost) Standards mode é a melhor opção para seu projeto, embora os browsers novos tenham suporte ao Quirks mode é muito complicado e pouco produtivo trabalhar com ele por não ser realmente padronizado. E mesmo utilizando o Standards mode seu site ainda deve ficar “legível” em navegadores antigos.

Leitura recomendada:

2 Comentários, comente também!

  1. jonas 12 de março de 2008 às 0:32

    Gostei..bom parabéns tem alguns conceitos que firam legais..mas precisa falar mas claramento o que é renderização..abraços

  2. CSS float: considerações, dicas e macetes para bons layouts na web | desenvolvimento para web 11 de julho de 2008 às 14:20

    [...] são frágeis”. Eles são cheios de “contratempos” e cross-browser quirks. Talvez o mais significativo seja a necessidade de “limpar” floats (propriedade CSS [...]

Deixe seu comentário:

  • São permitidas as seguintes tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Emanuel Felipe .NET - Todos os direitos reservados.

Isso significa que você não pode copiar ou distribuir o conteúdo deste blog em nenhum outro site sem minha autorização. Se tiver dúvidas entre em contato. Política de Privacidade.

Wordpress