<rmcreative>

RSS

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

  1. №1703
    Сергей
    Сергей 04 июля 2009 г., 6:48:15

    Абсолютно согласен. Но и для него, в режиме обратной несовместимости, (честно сказать редко) бывает костыль вставляю в виде кондокоментов.

  2. №1704
    Dr.Holerik
    Dr.Holerik 04 июля 2009 г., 11:53:31
    **dr.holerik** (20:25:52 29/05/2009) Как заставить IE8 не косить под IE7? (с чем едят "режим совместимости"? :-) )
    **Sam Dark** (20:26:23 29/05/2009) это можно и погуглить…

    — как много у человека зависит от настроения. :-)

    IE8 в режиме совместимости на практике отличается от IE7.

    К примеру, относительно позиционированный центрированный блок при zoom-

    в IE7 сдвигается влево, а в IE8 при любом режиме центрируется как надо.

    P. S. Важный момент представляет то, что условный комментарий для IE7 работает и в IE8 в р. с.

  3. №1705
    SelenIT
    SelenIT 05 июля 2009 г., 0:36:26

    @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+ воспроизводить ограничения "восьмерки"...

  4. №1706
    Dr.Holerik
    Dr.Holerik 06 июля 2009 г., 13:22:30

    SelenIT, спасибо за замечания.

    Вот простой пример, о котором я писал выше:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
     <head>
      <title>IE zoom test</title>
      <style>
       div {
        position: relative;
        width: 320px;
        height: 240px;
        margin: 0 auto;
        background: #385;
       }
      </style>
     </head>
     <body>
      <div></div>
     </body>
    </html>

    Заметил такую разницу при тестировании вёрстки Пивных пробок на IE 7.00.5730.13 (сейчас не стоит) и IE 8.0.6001.18702 под Win XP SP3.

    Если у вас оба примера центрируются при уменьшении масштаба, то отпишите здесь указав точную версию IE 7.

  5. №1708
    SelenIT
    SelenIT 07 июля 2009 г., 11:04:57

    Dr.Holerik, я извиняюсь, сначала не понял, что речь идет именно о браузерном масштабировании, я было подумал, что речь про свойство zoom (которым обычно включают hasLayout :). Теперь ясно. Согласен, в масштабировании разница есть, и довольно приличная. В IE7, на мой взгляд, масштабирование вообще никуда не годится, то там отступы в em-ах съезжают без видимой системы, то еще что-нибудь, нормально пользоваться им просто невозможно. Даже Text size, по-моему, в IE8 и предшественниках ведет себя по-разному, шаг изменения стал меньше и логичнее.

    Но лично я не сильно заморачиваюсь идеальным видом при масштабировании. Лишь бы текст оставался читаемым, ссылки и кнопки нажимабельными, подписи не отрывались от своих объектов, картинки и блоки не налезали друг на друга и т.п. В конце концов, масштабирование во всех браузерах реализовано слегка по-разному, и юзер, включающий его, наверняка отдает себе отчет, что смотрит сайт не совсем в том виде, как его задумывал дизайнер...

  6. №1709
    Dr.Holerik
    Dr.Holerik 07 июля 2009 г., 11:52:36

    SelenIT, ничего страшного, просто во избежании разночтений мне не следовало использовать термин «zoom-» для обозначения уменьшения масштаба в браузере, где есть одноимённое проприетарное свойство.

    Первое место с конца по качеству масштабирования я отдал бы не IE7, и даже не IE6, который вообще не масштабирует макет с фиксированным шрифтом, а старому Webkit'у (Chrome 1 и Safari 3). Вот там зажимаешь Ctrl+scroll и начинается: текст расширяется/сжимается, но фиксированные блоки замерли.

  7. №1710
    SelenIT
    SelenIT 07 июля 2009 г., 20:41:49

    Dr.Holerik, тут дело субъективное, мне-то как раз text-only zoom нравится: картинки остаются чистыми и красивыми (без "лесенок" и прочих артефактов), а текст становится читабельнее. Я даже подписывал петицию, чтоб в FF3 его сохранили хотя бы как опцию:). Разве что шаг зума в первом Хроме слишком резкий, как в FF1. А вот такого, чтобы все элементы страницы зумились и при этом вдобавок разъезжались, я кроме как в IE7 нигде не видел...

  8. №6248
    Dima
    Dima 26 мая 2012 г., 15:43:16

    помогло, спасибо большое :-)

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.