В чем разница между «режимом причуд» и «режимом совместимости» в IE? - PullRequest
10 голосов
/ 18 июля 2011

Я думал, что это одно и то же, но я только что узнал, что это не так!

Используя IE8, я могу заставить одну и ту же веб-страницу отображаться тремя различными способами:

  1. Режим стандартов.XHTML Strict DOCTYPE находится вверху веб-страницы.

  2. То же, что и выше, за исключением того, что в IE8 выбирается «режим совместимости».Теперь веб-страница отображается немного странно.

  3. Если я удалю DOCTYPE со страницы (это вызывает режим причуд?).Теперь веб-страница отображается очень плохо и отличается от просмотра в «режиме совместимости».На данный момент нажатие «Режим совместимости» не имеет значения.

Ответы [ 2 ]

12 голосов
/ 18 июля 2011

Причудливый режим - это в основном режим совместимости с IE5.Это вызвано отсутствием действительной декларации <!DOCTYPE>.Основной эффект заключается в том, что он заставляет браузер использовать блочную модель IE5, что означает, что все ваши отступы, поля и границы, а также все остальное, что влияет на размер рамки, будут некорректными.

Режим совместимостиявляется режимом совместимости с IE7 (IE9 также имеет режим совместимости с IE8), который запускается либо метатегом, указывающим, что страница должна его использовать, либо конфигурацией браузера пользователя.

Также могут быть указаны обаявно в окне инструментов разработчика.

Режим совместимости иногда полезен для тестирования (так как IE7 не имеет окна инструментов разработчика) и для сайтов интрасети, где компания слишком дешева, чтобы обновить свой код, чтобы справиться сболее новый браузер.(но, сказав, что режим совместимости не является точной копией IE7; у него есть свои ошибки и проблемы, поэтому для большинства испытаний лучше придерживаться реальной копии IE7)

Режим Quirks никогда не должен использоваться.Кто в здравом уме хотел бы быть совместимым с IE5?

1 голос
/ 18 июля 2011

Кнопка режима совместимости в ie8 обычно воспроизводит эффекты просмотра веб-страницы через браузер ie7, что означает, что она устанавливает режим документа в соответствии со стандартами IE7, если присутствует тип документа, в противном случае устанавливает режим документа в IE5 (или режим причуд).

Таким образом (при условии, что нет метатегов, переопределяющих нормальное поведение) в случае 1 страница отображается в режиме ie8, случае 2 в режиме ie7 и случае 3 его IE5 (режим причуд) независимо от того, используется представление совместимости или нет.

Здесь есть страница - http://www.nczonline.net/blog/2010/01/19/internet-explorer-8-document-and-browser-modes/, которая гораздо яснее описывает запутанный беспорядок в режимах документов в Internet Explorer, чем я могу ...

...