IE8 и режим совместимости с IE7
4 июля 2009
IE8 можно ввести в режим совместимости с IE7 (обязательно использовать до всех остальных элементов):
<meta http-equiv="X-UA-Compatible" content="IE=7" />
А можно наоборот, этот режим совместимости запретить:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
И запрещать его нужно. Нужно для того, чтобы не верстать под ещё один «промежуточный» браузер, ведь IE8 в режиме совместимости — это совсем не IE7:
Комментарии RSS по email OK
Абсолютно согласен. Но и для него, в режиме обратной несовместимости, (честно сказать редко) бывает костыль вставляю в виде кондокоментов.
— как много у человека зависит от настроения. :-)
IE8 в режиме совместимости на практике отличается от IE7.
К примеру, относительно позиционированный центрированный блок при zoom-
в IE7 сдвигается влево, а в IE8 при любом режиме центрируется как надо.
P. S. Важный момент представляет то, что условный комментарий для IE7 работает и в IE8 в р. с.
@Dr.Holerik, сорри, можно пример? Только что проверил — отцентрировалось во всех трех случаях (IE8, IE8 as IE7, IE7), правда, последний — на другой машине. Разница в поведении скриптов — это да, бывает, но с отображением CSS у меня пока все совпадало...
И еще пара-тройка замечаний:
1) с "IE=7" нужно быть осторожным, если страница изначально по какой-то причине в Quirks mode, такой X-UA-Compatible переведет ее в стандартный режим IE7 вне зависимости от доктайпа. Полная имитация поведения IE7, с учетом доктайпа — это "IE=EmulateIE7". Хотя вообще Quirks mode у всех IE6+ одинаков.
2) запрещать режим эмуляции нужно прежде всего для предсказуемости. Ведь иначе этот режим может включить не только юзер (кнопкой), но и админ его локалки (соотв. системной политикой) и даже Microsoft (внеся весь домен — со всеми поддоменами — в "черный список").
3) думаю, лучше ставить не "IE=8", а "IE=Edge". Т.е. в любой версии поддерживать стандарты по максимуму, а не заставлять будущие IE9+ воспроизводить ограничения "восьмерки"...
SelenIT, спасибо за замечания.
Вот простой пример, о котором я писал выше:
Заметил такую разницу при тестировании вёрстки Пивных пробок на IE 7.00.5730.13 (сейчас не стоит) и IE 8.0.6001.18702 под Win XP SP3.
Если у вас оба примера центрируются при уменьшении масштаба, то отпишите здесь указав точную версию IE 7.
Dr.Holerik, я извиняюсь, сначала не понял, что речь идет именно о браузерном масштабировании, я было подумал, что речь про свойство zoom (которым обычно включают hasLayout :). Теперь ясно. Согласен, в масштабировании разница есть, и довольно приличная. В IE7, на мой взгляд, масштабирование вообще никуда не годится, то там отступы в em-ах съезжают без видимой системы, то еще что-нибудь, нормально пользоваться им просто невозможно. Даже Text size, по-моему, в IE8 и предшественниках ведет себя по-разному, шаг изменения стал меньше и логичнее.
Но лично я не сильно заморачиваюсь идеальным видом при масштабировании. Лишь бы текст оставался читаемым, ссылки и кнопки нажимабельными, подписи не отрывались от своих объектов, картинки и блоки не налезали друг на друга и т.п. В конце концов, масштабирование во всех браузерах реализовано слегка по-разному, и юзер, включающий его, наверняка отдает себе отчет, что смотрит сайт не совсем в том виде, как его задумывал дизайнер...
SelenIT, ничего страшного, просто во избежании разночтений мне не следовало использовать термин «zoom-» для обозначения уменьшения масштаба в браузере, где есть одноимённое проприетарное свойство.
Первое место с конца по качеству масштабирования я отдал бы не IE7, и даже не IE6, который вообще не масштабирует макет с фиксированным шрифтом, а старому Webkit'у (Chrome 1 и Safari 3). Вот там зажимаешь Ctrl+scroll и начинается: текст расширяется/сжимается, но фиксированные блоки замерли.
Dr.Holerik, тут дело субъективное, мне-то как раз text-only zoom нравится: картинки остаются чистыми и красивыми (без "лесенок" и прочих артефактов), а текст становится читабельнее. Я даже подписывал петицию, чтоб в FF3 его сохранили хотя бы как опцию:). Разве что шаг зума в первом Хроме слишком резкий, как в FF1. А вот такого, чтобы все элементы страницы зумились и при этом вдобавок разъезжались, я кроме как в IE7 нигде не видел...
помогло, спасибо большое :-)