Ответ 1
<div class="clear"/>
Если вы используете страницу XHTML как text/html
, браузеры не читают ее, используя настоящий синтаксический анализатор XML. Они используют простой старый парсер HTML, который не знает о самозакрывающихся тегах. Для анализатора HTML4 это просто открытый тег с некоторой странной пунктуацией. (Если браузеры действительно использовали правила SGML, это было бы совсем другое нежелательное, но они этого не делают.)
Пока IE9 не станет широко распространенным, мы не сможем обслуживать веб-страницы общего назначения как application/xhtml+xml
, что необходимо для того, чтобы браузер использовал реальные правила синтаксического анализа XML. До этого времени, если вы пишете документы XHTML, вам нужно будет сделать ваши документы обратно совместимыми с простым HTML, что означает всегда и только использование самозакрывающегося синтаксиса для элементов, объявленных как модель контента EMPTY
. (img
, br
и т.д.)
Есть больше правил о том, что вам нужно сделать, чтобы написать HTML-совместимый XHTML, но это самый важный. Приложение C стандарта XHTML 1.0 - это список различий; это выглядит немного сложнее, но многие из них касаются функций, которые вы не хотите использовать в любом случае, а некоторые теперь неактуальны, поскольку они говорят о том, что такие древние браузеры, как Netscape 4. Практика помещения пространства до />
больше не требуется, например, для чего-то общего.