2015-09-12 2 views
1

Если я смотрю на источник кода на любом сайте, то теги <br> не закрыты с помощью другого тега </br>. Можно ли заставить браузер использовать закрывающий тег? Почему он вообще не закрывается?Есть ли способ заставить браузер закрыть <br> теги?

Причина, по которой я прошу об этом, заключается в том, что некоторые синтаксические анализаторы xml являются ошибками с выбросом, когда тег не закрыт.

ответ

2

Нет закрывающей бирки. Это единственный тег, представляющий перерыв. Он ничего не охватывает.

Только при написании XHTML (который является XML) вы должны закрыть каждый элемент, поэтому тег записывается как самозакрывающийся тег: <br/>. Я думаю, что теоретически вы можете написать его как <br></br>, если в нем нет контента, но я никогда не видел, чтобы это написано так.

XML - это строгий стандарт, поэтому имеет смысл, что парсеры XML терпят неудачу, когда сталкиваются с незакрытым тегом <br>, и вы должны всегда писать его как <br/>, если ваш doctype - XHTML.

(простой) HTML является (был) на основе SGML, а не XML, и позволяет открывать теги. В HTML, включая HTML5, вы можете написать <br>.

Иногда вы также видите <br /> (часто с пробелом) в обычных HTML-документах. Это в основном потому, что некоторое время казалось, что XHTML станет новым стандартом, и люди хотят быть готовыми. Большинство синтаксических анализаторов HTML довольно прощают и просто игнорируют /, даже когда doctype официально не разрешал это.

К настоящему времени ясно, что HTML5 является стандартом де-факто, и нет необходимости закрывать или закрывать теги <br>. Но HTML5 не является XML и не может быть проанализирован с помощью парсеров XML. Вы должны использовать парсер HTML.

Смежные вопросы