Являются ли теги XHTML действительными в HTML? - PullRequest
6 голосов
/ 09 августа 2011

Я понимаю, что разрыв строки в HTML равен <br>, а эквивалент XHTML равен <br />.

Я знаю, что вы не можете использовать вышеупомянутый тег HTML в документе XHTML,а как же наоборот?<br /> действителен в HTML?

Ответы [ 4 ]

4 голосов
/ 09 августа 2011

Это зависит от того, о какой версии HTML вы говорите.

В последней стабильной версии, HTML 4.01 , синтаксис означает то же, что и <br>>, что означает то же, что и <br>&gt;.Это означает, что он действителен, поскольку вы можете иметь > в любом месте, где вы можете иметь разрыв строки (хотя <meta /> обычно недопустимо), но не означает, что вы хотите.Ограничения в браузерах (эксплуатируемые спецификацией XHTML 1.0) означают, что он обрабатывается как <br>, даже если так быть не должно.Беспорядок в этой функции означает, что ее помечают как , которую следует избегать .

HTML 5 изменяет это и превращает / в синтаксический сахар.Совершенно бессмысленно, но разрешено, поэтому любители XML остаются довольны.

2 голосов
/ 09 августа 2011

<br /> имеет обратную совместимость и не вызовет проблем с рендерингом, если используется в документе HTML.

Также обратите внимание, что, если вы не используете документы с типом MIME application/xhtml+xml, ставьте <br> в документе XHTML это не приведет к удушению. является ошибкой проверки, позволяющей оставить БР незамеченным в документе XHTML, но очень незначительной, которая вряд ли сама по себе вызовет какие-либо проблемы.

РЕДАКТИРОВАТЬ: Да, да, и в HTML5закрытие / снова официально необязательно.

1 голос
/ 09 августа 2011

Да XHTML совместим с HTML.

Я полагаю, что в HTML5 есть одно исключение, которое заключается в том, что такие инструкции обработки, как <?xml...>, устарели.

1 голос
/ 09 августа 2011

<br /> действительный HTML.Некоторые HTML-страницы могут быть сгенерированы механизмом XML, который не может вывести <br>, и поэтому должен иметь возможность его анализировать.

...