Переведите все IE старше IE9 в режим совместимости с помощью HTML-директив - PullRequest
1 голос
/ 14 мая 2011

Я хочу, чтобы моя страница отображалась в режиме Quirks в IE6, IE7 и IE8. Я хочу сохранить все остальные браузеры (последние версии) в режиме стандартов HTML5.

Что не работает:

  • Поместите объявление DOCTYPE во вторую строку (известная мера в IE, но также вызовет причуды в IE9)
  • Пропустить объявление DOCTYPE (вызовет причуды, по крайней мере, в FF, MDN документы )

Любые идеи, как я мог бы сделать это с помощью чисто HTML мер?

Некоторый фон:

Из-за интенсивного использования модели рамочного блока мой макет страницы выглядит лучше, если старые IE работают в режиме Quirks. Поддержка box-sizing не появилась в IE до версии 8. Есть множество других вещей, которые также лучше работают в IE8.

Мое использование модели рамки:

  -ms-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;

Ответы [ 3 ]

1 голос
/ 26 мая 2012

Вы можете установить это, используя метатег X-UA-Compatible в сочетании с условными комментариями.

Сначала используйте условный комментарий, чтобы скрыть тег от IE 9 и более поздних версий:

<!--[if lt IE 9]>

Затем вставьте метатег, который запускает режим причуд:

<meta http-equiv="X-UA-Compatible" content="IE=5.5" />

Далее закройте ваш условный комментарий:

<![endif]-->

Кроме того, убедитесь, что вы начали свой документ с <!doctype html>, чтобы IE9 не был в режиме Quirks; если он уже использует движок рендеринга IE 5.5, он не будет игнорировать условный комментарий.

0 голосов
/ 10 июля 2012

Попробуйте

<meta http-equiv="x-ua-compatible" content="ie=9, ie=5">
0 голосов
/ 14 мая 2011

Я знаю, что это не совсем то, что вы просили, но рассматривали ли вы , используя ie7-js ?

IE7.js - это библиотека JavaScriptзаставить Microsoft Internet Explorer вести себя как совместимый со стандартами браузер.Это исправляет многие проблемы HTML и CSS.

Вот тестовый пример для box-sizing: border-box.

Если что-то еще на вашей странице использует JavaScript, я считаю, что этолучшее решение.

...