IE условный оператор, отображающий div, хотя условие говорит, что это не должно

У меня особенная проблема, и я надеюсь, что кто-то сталкивался с этим раньше и решил это или знает об этой проблеме и хорошо знает, что является причиной этого.

Я создаю сайт с использованием HTML5-Boilerplate v4.3.0, и в этом у меня есть регулярные условные операторы для IE (чтобы браузер использовал новейший механизм рендеринга), как показано здесь ...

<!--[if HTML5]><![endif]-->
<!doctype html>
<!--[if lt IE 7]>      <html class="ie ie6 lte9 lte8 lte7" lang="en"> <![endif]-->
<!--[if IE 7]>         <html class="ie ie7 lte9 lte8 lte7" lang="en"> <![endif]-->
<!--[if IE 8]>         <html class="ie ie8 lte9 lte8" lang="en"> <![endif]-->
<!--[if IE 9]>         <html class="ie ie9 lte9" lang="en"> <![endif]-->
<!--[(gte IE 9)|!(IE)]><!--> <html class="no-js" lang="en"> <!--<![endif]-->

<head>
    <!--[if !HTML5]>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <![endif]-->
    <meta charset="utf-8">  ....
    <!--- End Meta tags -->

Теперь у меня есть эти коды на основессылка здесь, эта ссылкаа также так ответ, отправленный ЭндрюВот.

У меня также есть небольшой условный оператор в теге body, который нацелен на IE, и если версия меньше 9, он отображает div, как показано здесь ...

<body>
    <!--[if lt IE 9]>
        <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please upgrade your browser to improve your experience. This site was designed to work with modern browsers like Internet Explorer 9 or above, Firefox, Chrome, etc.</p>
    <![endif]-->
   .......
</body>

элемент css для класса "browsehappy" выглядит следующим образом ...

.browsehappy {
margin: 0.2em 0;
background: #ccc;
color: #000;
padding: 0.2em 0;
position:fixed;
top: 0;
left: 0;
z-index: 1000;
background-color: #fff;
font-size: 14px;
width: 100%;
text-align: center;
}

Я использую Iam7 и / или Xampp на основе Apache в качестве своего веб-сервера. И я знаю, что на многих сайтах интерактивной справки говорят, что лучший способ заставить IE открываться в определенном режиме - это использовать файлы конфигурации сервера. поэтому я создал файлы ...

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <clear />
        <add name="X-UA-Compatible" value="IE=10" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</configuration> 

web.config для IIS7 и ...

<IfModule mod_headers.c>
    Header set X-UA-Compatible "IE=edge"
    # `mod_headers` can't match based on the content-type, however, we only
    # want to send this header for HTML pages and not for the other resources
    <FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?   g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svgz?|ttf|vcf|webapp|webm|webp|woff|xml|xpi)$">
        Header unset X-UA-Compatible
    </FilesMatch>
</IfModule>

часть .htaccess для apache

Все работает отлично, если у меня в папке с файлами html находятся файлы конфигурации сервера.

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

Теперь условное выражение вверху, перед тегом head, похоже, работает. При открытии в IE9 он открывается в режиме просмотра в режиме совместимости IE 9 и в режиме документов стандартов IE9 (в отличие от режима документов IE7 и совместимости IE9)

Но условный оператор внутри тега body не работает правильно. Теперь, как я уже упоминал, так как у меня нет контроля над конечным веб-сервером сайта, я удалил файлы конфигурации из корневой папки и использовал метатег, чтобы вызвать браузер.

это мой скриншот при открытии в IE9 без файлов конфигурации сервера в корневой папке. С файлами конфигурации он ведет себя правильно.

Теперь мой вопрос, хотя браузер открывается в режиме IE9, почему появляется разделение?

Любая помощь будет принята с благодарностью. Заранее спасибо. p.s: вывод работает нормально при открытии в ie11. не тестировал в ie10.

Ответы на вопрос(1)

Ваш ответ на вопрос