HTML5 doctype переводит IE9 в режим причуд?

101

Я пытаюсь заставить IE9 загрузить мою страницу со стандартами IE9 ...

Я заметил, что <!DOCTYPE HTML>перевел эту чертову штуку в режим причуд ... Что в значительной степени ломает все на странице ...

Как заставить IE придерживаться стандартов IE9?

Абхишек
источник
1
@EricLaw - А? Я не слежу за ...
Abhishek
Какой URL-адрес вашей страницы воспроизводит эту проблему.
EricLaw
Это внутренняя страница тестирования, которую я использую ... Но nvm, @David_Wick уже ответил на вопрос ... :-)
Абхишек
См. Также stackoverflow.com/questions/3726357/…
Raedwald

Ответы:

134

Размещение:

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

в <head>теге должно это делать.

Дэвид Уик
источник
1
Ага, это помогло ... Не могли бы вы мне немного объяснить это?
Abhishek
8
@Abhishek: метаэлементы не обязательно должны быть явно закрыты в HTML5 (и исторически против более старых спецификаций HTML закрытие было бы фактически недействительным).
reisio
4
@reisio - Если вы посмотрите историю, вы увидите, что он изначально не использовал закрывающую скобку ( >).
Shauna
Это должен быть первый или единственный метатег? Потому что он там и по умолчанию работает в режиме причуд.
DeadlyChambers
2
Я обнаружил, что размещение этого метатега сразу после тега <head> будет работать, в то время как размещение его в нижней части <head> может не сработать, вероятно, из-за вмешательства другого содержимого.
Паоло Миони
63

Убедитесь, что у вас нет комментариев HTML перед объявлением DOCTYPE, иначе IE9 будет использовать режим quirks.

Просто иметь <!DOCTYPE html>в самом верху страницы и ничего не предшествовать этому должно быть достаточно, чтобы IE9 использовал стандартный режим. Вам также не понадобится метатег.

Zuallauz
источник
1
@frumbert: за исключением того, что у case есть комментарии перед объявлением doctype, поэтому нет.
reisio
за исключением того, что они не рассматриваются как html-комментарии, они являются условными комментариями, которые IE (любой) не интерпретирует как часть dom, тогда как html-комментарии (те, в которых нет квадратных скобок) обрабатываются как dom и, следовательно, за пробелами. Зависит от случая, версии ie и используемого документа.
frumbert
2
Нет, это не так, сказал Зуаллауз, комментарии, и в ваших примерах есть комментарии (независимо от того, являются ли они стандартным HTML или нет, или интерпретируются как желательно только IE или нет, не имеет значения).
reisio
4

Удалите все неподдерживаемые комментарии, проверьте наличие поддерживаемых комментариев. И разместите в своей голове тег. Объявление типа документа должно быть в самой первой строке вашего HTML.

Бисваджит Чаттерджи
источник
0

У меня в голове упоминается на всех страницах. Однако он просто отображается правильно для домашней страницы, для всех остальных страниц страница по-прежнему отображается в разбросанном режиме.

Avinava Basu
источник