Какой тип документа мне нужен? - PullRequest
1 голос
/ 18 января 2011

У меня проблема с использованием стандартного типа документа VS

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

На моей странице у меня есть поле с контентом, которое содержит два элемента div, один с плавающей точкой слева, а другой с плавающей справа. Правый плавающий div содержит высоту: 100%, однако он никогда не применяется для соответствия высоте левого div.

Когда я удаляю doctype (плохо, я знаю, но только тестировал ...) в IE8, сайт выглядел как завтрак для собак, тогда как в Chrome и Firefox он выглядел именно так, как я хотел.

Ответы [ 5 ]

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

Вы должны использовать любой тип документа, соответствующий версии HTML, для которой вы кодировали.например, <!DOCTYPE HTML> для HTML 5.

2 голосов
/ 18 января 2011

Отсутствие DOCTYPE в основном означает, что браузеры будут предполагать неработающий HTML и будут пытаться угадать, чтобы вы никогда не получили согласованных результатов.Просто выберите любую спецификацию по вашему выбору (я стараюсь избегать XHTML, но это дело вкуса) и запускайте свой код через валидатор HTML, пока в нем не будет ошибок.

1 голос
/ 18 января 2011

Вы должны использовать Doctype, который:

  • Триггеры стандартный режим (строгий режим АКА)
  • Отражает разметку, которую вы пишете (которая обычно должна быть :)
    • HTML 4.01 Строгий по умолчанию (или переходный, если вам что-то действительно нужно от него)
    • HTML 5, если вы используете функции из черновика
    • XHTML 1.0 Strict (или Transitional, если вам что-то действительно нужно из этого), если у вас есть цепочка инструментов XML с нормализацией Приложения C в конце

Doctype у вас запускает стандартный режим, так что вам просто нужно выяснить, почему браузеры не отображают контент так, как вы ожидаете (есть большая вероятность, что это будет связано с ошибками в вашем CSS или разметкой, которые могут быть обнаружены с валидатором ).

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

Вы ищете, чтобы два div были одинаковыми по высоте? Это никогда не будет иметь место в стандартном режиме, потому что div не ведет себя так же, как ячейки таблицы. Ячейки таблицы растягиваются, чтобы соответствовать размерам таблицы, элементы div являются независимыми контейнерами и ведут себя не одинаково.

Однако есть такие решения, как метод Faux Column.

Вот статья о технике "искусственных колонн".

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

Не ответ : поиск по двум колонкам.

Подсказка : поиск решений "clear: both". (см. http://www.quirksmode.org/css/clearing.html)

...