Я использую bootstrap с темой из bootswatch с котельной пластиной html5 для создания страницы. Хотя он правильно отображается в Chrome и Firefox, он не отображается правильно в режиме IE9 и IE8. Однако он работает правильно, когда я устанавливаю IE9 для использования режима совместимости. Проблема в том, что в IE9 без режима совместимости страница не выравнивается и остается слева. Хотел бы знать, где я ошибся. Заранее спасибо!

<!doctype html>
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!-- Consider adding a manifest.appcache: h5bp.com/d/Offline -->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
  <meta charset="utf-8">

  <!-- Use the .htaccess and remove these lines to avoid edge case issues.
       More info: h5bp.com/i/378 -->
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title></title>
  <meta name="description" content="">
  <!-- Mobile viewport optimized: h5bp.com/viewport -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=no">
  <!-- Place favicon.ico and apple-touch-icon.png in the root directory: mathiasbynens.be/notes/touch-icons -->
  <link rel="stylesheet" href="css/bootstrap.css">
  <!-- More ideas for your head here: h5bp.com/d/head-Tips -->

  <!-- For the sticky footer -->
    <!--[if !IE 7]><style type="text/css">#sf-wrapper {display:table;height:100%}</style><![endif]-->
  <style>
      #content-main {
        padding-top:63px;
       }

      #form-language {
        margin-top: 15px;
      }
  </style>
  <!-- All JavaScript at the bottom, except this Modernizr build.
       Modernizr enables HTML5 elements & feature detects for optimal performance.
       Create your own custom Modernizr build: www.modernizr.com/download/ -->
  <script src="extras/h5bp/js/libs/modernizr-2.5.3.min.js"></script>
</head>

Код находится здесь: http://jsfiddle.net/WWphP/

1
Hong Yi 4 Июл 2012 в 21:09
Вы уже запускали свою страницу с помощью HTML Validator?
 – 
Sparky
4 Июл 2012 в 21:18
Да, я запускал его через валидатор html, и я не думаю, что это повлияет на то, как страница появится. Строка 13, столбец 64: недопустимое значение X-UA-Compatible для атрибута http-Equiv в метаэлементе.
 – 
Hong Yi
4 Июл 2012 в 21:19
Возникла проблема с тем, как вы используете jsFiddle. Вы не должны включать doctype, весь раздел <head> или какие-либо теги <body> в поле HTML. Туда попадает только код из внутри тегов <body></body>. jsFiddle помещает ваш код на свою страницу-контейнер, и, вероятно, ваш head контент игнорируется или дублируется. То, как вы его настроили, делает демонстрацию ненадежной.
 – 
Sparky
4 Июл 2012 в 21:22
Ах. Мне очень жаль, но проблема все еще существует, хотя она ненадежна.
 – 
Hong Yi
4 Июл 2012 в 21:25

1 ответ

Лучший ответ
<!--[if !IE 7]><style type="text/css">#sf-wrapper {display:table;height:100%}</style><![endif]-->

Приведенный выше код - это ваша проблема, в основном вы говорите, что если это не IE7, используйте этот код, который также включает IE9. Ваш элемент # sf-wrapper настроен на отображение: table; что делает его шириной равной ширине содержимого (940 пикселей), просто установите # sf-wrapper на width: 100% , и он будет центрирован.

2
Igor Jerosimić 4 Июл 2012 в 21:28