Doctype HTML5 colocando o IE9 no modo quirks?

101

Estou tentando fazer o IE9 carregar minha página com os padrões do IE9 ...

Percebi que <!DOCTYPE HTML>colocou a maldita coisa em modo peculiar ... O que praticamente quebra tudo na página ...

Como faço para que o IE siga os padrões do IE9?

Abhishek
fonte
1
@EricLaw - Hein? Eu não sigo ...
Abhishek
Qual é o URL da sua página que reproduz este problema.
EricLaw
É uma página de teste interna que estou usando ... Mas nvm, @David_Wick já respondeu à pergunta ... :-)
Abhishek
Consulte também stackoverflow.com/questions/3726357/…
Raedwald,

Respostas:

134

Colocação:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

na <head>tag deve fazer isso.

David Wick
fonte
1
Sim, isso funcionou ... Você poderia explicar isso um pouco para mim?
Abhishek
8
@Abhishek: os metaelementos não precisam ser fechados explicitamente no HTML5 (e historicamente contra especificações HTML mais antigas, fechá-lo seria de fato inválido).
reisio
4
@reisio - Se você olhar o histórico, verá que ele tinha originalmente deixado de fora o colchete de fechamento ( >).
Shauna
Precisa ser a primeira ou a única metatag? Porque está lá e o padrão ainda é o modo quirks.
DeadlyChambers
2
Descobri que colocar essa metatag logo após a tag <head> funcionará, mas colocá-la na parte inferior de <head> pode não funcionar, provavelmente devido à interferência de outro conteúdo.
Paolo Mioni
63

Certifique-se de não ter nenhum comentário HTML antes da declaração DOCTYPE, caso contrário, isso fará com que o IE9 use o modo quirks.

Apenas ter <!DOCTYPE html>no topo da página sem nada precedente deve ser o suficiente para fazer o IE9 usar o modo padrão. Você não deve precisar da metatag também.

Zuallauz
fonte
1
@frumbert: exceto que o caso tem comentários antes da declaração doctype, então não.
reisio
exceto que estes não são tratados como comentários html, eles são comentários condicionais que o IE (qualquer) não interpreta como parte do dom, enquanto os comentários html (aqueles sem colchetes) são tratados como dom e, portanto, atrás de espaços em branco. Depende do caso, da versão do ie e do doctype sendo usado.
frumbert
2
Não, não faz, zuallauz disse comentários, e seus exemplos têm comentários (se eles são HTML padrão ou não ou interpretados como desejado apenas pelo IE ou não é irrelevante).
reisio
4

Remova todos os comentários não suportados, verifique se há comentários suportados. E coloque em sua etiqueta de cabeça. A declaração do tipo de documento deve ser a primeira linha em seu HTML.

Biswajit Chatterjee
fonte
0

Tenho na cabeça mencionado em todas as páginas. No entanto, está apenas sendo exibido corretamente para a página inicial para todas as outras páginas, a página ainda é renderizada no modo disperso.

avinava basu
fonte