2016-04-18 3 views
-1

У меня странная ошибка с !DOCTYPE html.! DOCTYPE html уничтожен страница

Когда я пытаюсь использовать HTML5 Doctype, тогда моя страница выглядит странно. Все сценарии выглядят как закрытые неправильно.

Но когда я перехожу на !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd", тогда все выглядит хорошо.

Я не понимаю, что случилось со структурой страницы и почему это произошло только с HTML5.

+1

Запустили ли вы свою страницу через HTML-валидатор? – j08691

+0

Вы используете IE? вы пробовали его в разных браузерах? – Styl

+0

@ j08691no, я не потому, что сейчас это на моем месте. – Oleg

ответ

0

Спасибо, ребята, за вашу помощь!

Я нашел, как я могу это решить. В моем случае ошибка была в одном расширении, которое использовало метод $dom->saveXML() в наблюдателе. А перед тем, как рендерить этот метод, проанализируйте DOM и удалите/замените вывод HTML.

2

HTML5 полностью удалил и переработал многие элементы HTML4 (на основе которых основан XHTML 1.0). Если веб-сайт закодирован в основном в XHTML 1.0, вы не можете просто переключиться на HTML5 и предположить, что вещи не сломаются.

Ваш лучший вариант - запустить код конвертированного doctype через валидатор HTML W3C по адресу https://validator.w3.org и просмотреть ошибки и предупреждения, которые он генерирует. Это должно дать вам представление о том, почему вещи не работают так, как вы хотите, чтобы они были.

+0

Это еще хуже: это XHTML :) –

+0

Думаю, он описывает обратное. – Styl

+1

HTML5 был разработан для обратной совместимости с устаревшими сайтами - хотя семантика ряда элементов HTML 4 изменилась, реализации не ведут себя по-другому, просто переключаясь с одного строгого типа на другой. – BoltClock