Doctype ломающий документ (Html5 / Css3) - PullRequest
0 голосов
/ 24 октября 2011

Я создаю веб-страницу и обнаружил проблему, которую не могу решить.Если я объявляю DOCTYPE, страница полностью разрывается, и если я не объявляю его, версия IE не будет работать должным образом (выпадающие меню не будут выпадать).Но, несмотря на то, что он не работает, если я объявлю DOCTYPE, выпадающие меню работают на всех проводниках, включая IE.Так что я действительно не знаю, что делать, есть идеи?В настоящее время я объявляю DOCTYPE как: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">, но я пробовал другие варианты, и они тоже не работают.

В последний раз, когда я размещал здесь, бесплатный сервер заблокировал страницу (вероятно, слишком много пользователей,так как я сейчас только один), но это 2 примера страницы:
с DOCTYPE: http://newfutureuniversity.org/project/
без DOCTYPE (раскрывающиеся меню не работают с IE9): http://newfutureuniversity.org/learn/

Любая помощь будет оценена.Даже если это просто чтобы сориентировать меня, с чего начать поиск, так как я не мог найти ничего подобного.

Ответы [ 2 ]

0 голосов
/ 24 октября 2011

Использование или отсутствие использования типа документа для современных веб-страниц больше не является обязательным и требуется.Это самое первое, что попадает на страницу и никогда не меняется.Если вы создали страницу без таковой, то вся ваша страница переведена в режим причуд.Попытка исправить или изменить его, добавив / удалив тип документа, по сути, меняет правила и цель по мере продвижения.

Попытка использовать jQuery, чтобы исправить это сейчас, просто погружает вас в более глубокую дыру.Добавьте doctype, используйте современный браузер, чтобы получить все, как вы хотите (IE не современный браузер), затем работайте над тем, чтобы IE следовал за ним.1006 *

0 голосов
/ 24 октября 2011

для HTML5 это красиво и мало, у вас есть объявление XHTML

это может быть просто:

<!DOCTYPE html>

для HTML 5

Использование XHTML говорит парсеру быть более строгим в том, что он принимает. у вас нет <html> корня в вашем документе (HTML5 не заботится об этом).

спецификация типа контента также отличается в HTML5

вместо <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> вы можете использовать <meta charset="iso-8859-1" />, если это ваш желаемый набор символов.

...