Решения проблем верстки для IE8.0

Weaver

Гуру форума
Регистрация
16 Ноя 2006
Сообщения
198
Реакции
86
Привет всем. Наверняка уже многие столкнулись с проблемами верстки в IE8.0. Давайте делится своими решениями этих проблем с корявым отображением нашей дивной верстки.

вот мои 5 копеек: ставим в head режим совместимости с IE7.0
Код:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
 
Очень интересно.
Можно узнать подробнее, каким образом это работает и на что оно влияет?
 
Таким способом можно сказать восьмому ишаку, чтобы он работал в режиме совместимости с седьмым.
 
Очень интересно.
Можно узнать подробнее, каким образом это работает и на что оно влияет?

Цитата из статьи Для просмотра ссылки Войди или Зарегистрируйся:

Новая версия рендеринга Internet Explorer может работать в трех режимах:
  • Quirks и Strict – работают как и в IE7, в зависимости от DOCTYPE включается quirks-режим;
  • Standards – основной режим IE 8, в котором максимально широко реализованы стандарты.

Команда разработчиков предусмотрела принудительную поддержку того или иного режима для ваших старых или новых страниц, которые нацелены на отображение в предыдущих версиях браузера и должны нормально отображаться в 8 версии.
Для того чтобы задать необходимый вам режим нужно добавить на страницу meta-тэг следующего содержимого:
Код:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
Здесь, content – обозначает режим, в котором будет отображаться страница. Основные значения content следущие:
  • «IE=7» — включает режим Strict в котором рендерятся все страницы;
  • «IE=EmulateIE7» — включает режим совместимости с IE7, в котором в зависимости от DOCTYPE будет применяться либо стандартный для IE7 режим рендеринга (Strict), либо quirks-режим (Quirks);
  • «IE=EmulateIE8» — страница форсируется в режим «IE8 Standards» вне зависимости от того, включен ли режим совместимости «Compatibility View» в браузере пользователя, а quirks-страницы отображаются в Quirks-режиме.
  • «IE=8» — включается режим максимального соответствия стандартам «IE8 Standards».

Кроме того, значения content не ограничиваются перечисленными режимами. Так можно указать значения для любых других браузеров:
Код:
<meta http-equiv="X-UA-Compatible" content="FF=3" />
Вдобавок к этому, у параметра content существует значение «edge», которое позволяет указывать на поддержку максимально старшей версии браузера:
Код:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
Кроме указания тега «meta» есть еще один способ управлять режимом браузера – это передача http-заголовка:
Код:
X-UA-Compatible: IE=EmulateIE7


P.S.: В довесок вот ещё две ссылки на занимательный статьи:
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
 
а не проще для него дедовским способом создать отдельный файл стилей?
 
а не проще для него дедовским способом создать отдельный файл стилей?

Вы наверно не совсем поняли. Мета тег "X-UA-Compatible" был сделан специально для уже существующих сайтов.
Допустим вы год назад всерстали сайт и позаботились, о том чтоб он нормально отображся во всех браузерах (IE6 и 7 в том чесле). Но к сожалению сайт был сверстан не по стандартам и по этому в IE8 будет отображаться не так как в IE6 и 7. Для этого мы в качестве параметра мета тега "X-UA-Compatible" задаём content="IE=EmulateIE7" и тогда IE8 будет отображать вашу страницу точно так же как и IE7 (а как упоменалось выше, в IE7 сайт отображается нормально) — и не нужно прописывать дополнительный стили для IE8.
 
Никаких новых проблем 8-й с собой не принес, во всяком случае я пока не обаружил...обычно что в 7, что в 8-м глюки одинаковые...
для 7 и 8 IE использую css хак:
 
...обычно что в 7, что в 8-м глюки одинаковые...
Откуда такая информация? IE8 в сравнении с IE7 — это небо и земля. IE8, как и заявляли разработчики, действительно заточен под стандарты. Движок браузера был практически переписан с нуля и глюков IE7 в нём не наблюдается.
 
Откуда такая информация? IE8 в сравнении с IE7 — это небо и земля. IE8, как и заявляли разработчики, действительно заточен под стандарты. Движок браузера был практически переписан с нуля и глюков IE7 в нём не наблюдается.
Мммда... погорячился я. Не так уж и хорош IE 8. Нет стандартной поддержки оброботчиков событий DOM Level 2.
В спецификации DOM Level 2 есть метод addEventListener, для присваивания элементам оброботчиков событий. А Microsoft даже в IE 8 не потрудилось реализовать этот метод и дальше продолжает парить свой проприетарный attachEvent, который сильно уступает стандартному addEventListener. По поводу этого бага разработчикам был отправлен багрепорт на стадии бета-тестирования, но исправлять этот недостаток никто по видимому и не собирался. Для просмотра ссылки Войди или Зарегистрируйся: «Спасибо вам за фидбэк, мы подумаем над тем чтоб включить эту фичу в будущие версии IE». Печально...
Для просмотра ссылки Войди или Зарегистрируйся.
 
Откуда такая информация? IE8 в сравнении с IE7 — это небо и земля. IE8, как и заявляли разработчики, действительно заточен под стандарты. Движок браузера был практически переписан с нуля и глюков IE7 в нём не наблюдается.
Билл говорит так:

А так говорят парни с Webmonkey:
 
  • Нравится
Реакции: KyaH
Назад
Сверху