IE9 CSS-совместимость и DOCTYPE оператор - PullRequest
0 голосов
/ 09 декабря 2011

Я получил эту страницу, которая нормально работает в Chrome, а в IE9 - нет.

Я попытался создать новый CSS для страницы IE9, используя условный комментарий в HTML-коде.Это нормально.

Но затем я попытался включить оператор doctype ... и происходит следующее:

  • , когда я включаю doctype в html-файл, все портится (даже в Chrome)но как только я удалил ее, страница выглядит великолепно в Chrome и IE9.
  • Если я перезапущу IE9 (или удаляю временные данные), страница снова не будет работать.

Надеюсьдействительно не знаю, что происходит.

Любая помощь будет очень признательна.

Ответы [ 3 ]

3 голосов
/ 09 декабря 2011

Как уже было сказано, всегда используйте тип документа.Без него IE рендерится в режиме причуд, и то, что вы получите, будет сильно отличаться от того, что вы получаете в других браузерах.

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

Вам придется изменить дизайн своего сайта, чтобы использовать режим стандартов.Тогда он будет выглядеть одинаково (или аналогично) во всех современных браузерах.

3 голосов
/ 09 декабря 2011

Во-первых, вы всегда должны включать doctype.Он сообщает браузеру, по какому набору правил вы будете играть.

Если вы пропустите doctype, IE примет, что ваша разметка древняя, и активирует Режим причуда ,по сути, это рендеринг IE 5.5.К таким побочным эффектам относятся ошибка IE в блочной модели .

. Не видя разметки, я настоятельно рекомендую проверить вашу разметку и CSS с помощьюW3C валидаторы.Часто Chrome и FireFox «лучше» угадывают значение сомнительной разметки, т.е. IE не так уж и много.

0 голосов
/ 09 декабря 2011

Прежде всего, трудно найти решение, не видя ваш HTML / CSS. Как правило, вам не нужен отдельный файл CSS для IE ...

Также я предлагаю вам попробовать HTML5 Boilerplate , чтобы помочь минимизировать несоответствия браузера. Это должно решить большинство проблем, если это не ошибка в вашем CSS.

...