Я полагаю, что одна из ваших копий IE8 находится в режиме совместимости с IE7.
Симптомы, которые вы описали, типичны для этого - один и тот же сайт с одинаковым кодом ведет себя по-разномув разных копиях IE8 или при размещении в разных местах.
IE8 (и к тому же IE9) имеют небольшую раздражающую особенность, которая может привести к тому, что он перейдет в режим совместимости, не сказав вам об этом, и только для некоторых сайтов..
Чтобы узнать, происходит ли это, откройте окно инструментов разработчика (нажмите F12).Режим рендеринга отображается в верхней части этого окна справа.
Попробуйте это во всех протестированных комбинациях, и я предполагаю, что по крайней мере одна из них сообщит, чтоон находится в режиме совместимости с IE7.
Так почему же IE делает это?Существует параметр конфигурации, который указывает IE8 использовать режим совместимости «для сайтов интрасети».То есть сайты в локальной сети.Идея заключается в том, что корпоративные пользователи могут иметь интранет-приложения, которые были разработаны для более ранних версий IE и не могут быть обновлены.Это позволяет им обновлять IE, все еще используя эти приложения для себя.Это было бы отличной идеей, если бы не две ошибки: во-первых, все эти корпорации застряли на IE6, а режим совместимости - только для IE7.А во-вторых, режим совместимости на 100% не идентичен реальному IE7;у этого есть ошибки и его собственные причуды.Так что это немного своей цели.Но он есть, и вам нужно знать об этом.
Так как же нам обойти это?Первый ответ - отключить настройку конфигурации.К сожалению, для большинства из нас мы не можем диктовать это вашим пользователям, поэтому полное решение состоит в том, чтобы использовать метатег, придуманный Microsoft специально, чтобы помочь разработчикам обойти эту проблему.Добавьте следующее в ваш HTML-заголовок, и проблема должна исчезнуть:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
Надеюсь, это поможет.