Заголовок этого поста подводит итог многого, что плохо в IE6 и почему он сегодня вызывает столько головных болей у веб-разработчиков, а также почему так много компаний так неохотно так долго делают обновление. Однако даже эти компании вынуждены обновляться сейчас, поскольку новые лицензии для IE6 просто недоступны.
Взлом UA-Compatible не сработал, потому что все, что он делает, это говорит IE8 использовать свой «устаревший» механизм рендеринга для эмуляции более старой версии IE. Это звучит так, как будто это должно работать, но, к сожалению, для вас, это только ухудшает совместимость с IE7.
Таким образом, вы можете попробовать режим совместимости с IE7. Это не гарантировано, но я думаю, что это на один шаг ближе к IE6. Вы сможете проверить это, изменив метатег, который у вас уже есть, но вы также можете переключить режим рендеринга в IE8, зайдя в Инструменты разработчика, у которого режим рендеринга переключается в верхней части окна.
Проблема всего этого в том, что это не будет для вас постоянным решением. Даже если вы работаете в режиме совместимости с IE7, нет гарантии, что когда пользователи обновятся до IE9 (что они скоро начнут делать), режим IE7 продолжит работать для вас. И IE10 также находится в разработке.
Если основными проблемами, с которыми вы сталкиваетесь на сайте, являются просто текстовые поля и другие движущиеся объекты, то на самом деле вы делаете это не так уж плохо - некоторые сайты, написанные для IE6, просто слишком сильно сломаны в современных браузерах, чтобы рассмотреть возможность их обновления; они просто должны быть переписаны. Но твое звучит так, будто оно должно быть спасено.
Наиболее вероятный виновник вашей проблемы - Quirks Mode.
Режим Quirks - это режим рендеринга, который используют более старые версии IE (IE6 и более ранние) вместо того, чтобы следовать определенным веб-стандартам. IE6 был первой версией IE, которая поддерживала режим стандартов, хотя по умолчанию он был переведен в режим совместимости с IE5. До этого IE5 использовал только режим причуд. Это, вероятно, объясняет, почему вы советовали использовать режим совместимости с IE5 ... Жаль, что этот совет никогда не сработает.
Существует ряд различий между режимами Quirks и Standards, но основным из них является блочная модель. Короче говоря, в режиме причуд, размер элемента (т.е. его высота и ширина) включает границу и поле, тогда как в стандартном режиме это не так.
Существует целый ряд других различий между этими двумя режимами, но это тот, который действительно вызывает худшие разбитые макеты страниц.
Похоже, ваш сайт был разработан с учетом режима причуд, а не стандартного режима. К сожалению, вы ничего не можете сделать, чтобы автоматизировать его исправление; вам просто нужно пройтись по всем стилям, настраивая расположение и размер, пока он не заработает.
Вы также должны убедиться, что у вас есть действительная декларация Doctype в верхней части HTML-кода. Это поможет браузеру выбрать правильный режим рендеринга. Без этого вы можете обнаружить, что время от времени вы все еще переходите в режим причуд.
Я бы настоятельно рекомендовал протестировать сайт в других браузерах, таких как Chrome и Firefox. Это, вероятно, поможет вам, обнаружив другие ошибки в коде, с которыми IE8 может не иметь проблем. Я бы предложил сделать это, даже если конечные пользователи планируют использовать только IE8, потому что, как я уже сказал, они почти наверняка будут обновляться до IE9 в не слишком отдаленном будущем, а IE10 - не так уж долго после этого. IE9 гораздо более совместим со стандартами, чем IE8, и IE10 тоже будет, что означает, что если страница хорошо отрисовывается в Chrome и Firefox, то вы должны быть уверены, что при запуске IE9 и IE10 все будет хорошо Это избавит вас от повторения проблем с IE6-> IE8 через год.
Надеюсь, это поможет.
Если у вас есть какие-то конкретные фрагменты кода, с которыми вам нужна дополнительная помощь, я бы предложил разместить их здесь под новым вопросом.