Не может горизонтально центрировать фиксированную ширину div в IE - PullRequest
1 голос
/ 22 января 2011

Я создаю шаблон для сайта.

Пример: Страница входа в Framework
Основной лист CSS находится по адресу: master.css

Я пытаюсь центрировать основной родительский div.

Я использую

#body {
  width: 100%;
  background: url('pathtoimage.png');
}

#inner_body{
  width: 800px;
  margin: auto;
}

<body>
  <div id="body">
    <div id="inner_body"></div>
  </div>
</body>

В чем может быть проблема?

Ответы [ 3 ]

3 голосов
/ 22 января 2011

Это (очень) старая ошибка IE.

К счастью, это было исправлено начиная с IE 6, но вам нужно иметь правильный тип документа на своей странице, чтобы IE использовал «стандартный» режим рендеринга и уважал ваш стиль margin: auto. На странице без типа документа IE вместо этого использует режим «причуд», который возвращается к старому, нестандартному поведению.

Quirksmode имеет хорошую страницу о типах и стандартах документов , которая объясняет, почему вы хотите убедиться, что ваши страницы имеют правильный тип документа, включая несколько хороших таблиц, в которых объясняется, что каждый браузер будет делать по-разному в причудах и стандартах режим.

0 голосов
/ 22 января 2011

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

  1. Используйте правильный DOCTYPE (определение типа документа или DTD)

Это определяет, какая версия HTML или XHTML вашего документа на самом деле использует. Это нужно браузерам или другим инструментам правильно обработать документ.

Использование неполных, устаревших или вообще без DOCTYPE бросков некоторые браузеры в режиме «Причуд», где браузер предполагает Вы написали устаревшую недействительную разметку.

Это означает, что ваши веб-страницы могут не отображаться хорошо во всех основные браузеры.

0 голосов
/ 22 января 2011

Установите CSS для вашего "тела" div, чтобы включить:

text-align: center;

И удалите любые текстовые выравнивания, которые вы можете иметь в div "inner_body", он должен наследоваться от тела.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...