Может ли элемент <hr/"> иметь закрывающий тег?

Мой коллега не знает и не понимает html. Ее задача состоит в том, чтобы вводить информацию в CMS, и я заметил, что она закрывает теги <hr /> как это <hr></hr>.

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

NB. Допитом для нашего веб-сайта является XHTML 1.0 Transitional, если это имеет значение.

ИЗМЕНИТЬ

@Jeff имел хорошее представление об утверждении. Я использовал следующий код и, по-видимому, это действительно XHTML 1.0 Transitional

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
    </head>
    <body>
        <hr></hr>
    </body>
</html>

Ответ 1

ОК, <hr></hr> - действительно действительный XHTML 1.0.

Итак, для XHTML 1.0:

  • <hr /> действительно
  • <hr></hr> действительно
  • <hr> не действителен

... для HTML 4.0:

  • <hr /> действительно
  • <hr></hr> не действителен
  • <hr> действительно

поэтому лучший вариант - использовать <hr />, который всегда действителен.

Ответ 2

HTML 4 говорит:

Начальный тег: требуется, Конечный тег: запрещено

И поскольку XHTML в основном означает, что HTML-теги должны иметь закрытый тег, я бы сказал, что <hr /> - единственный формат, который вы должны рассмотреть.

Как говорят другие, <hr></hr> действителен XHTML (они даже используют его в качестве примера), но по причинам совместимости я бы не использовал его.

Ответ 3

<hr /> является просто сокращением для <hr></hr>; оба приемлемы в документах XHTML. Тем не менее, ни один из них не является приемлемым в документах HTML, где вместо этого следует использовать <hr>, что в свою очередь недействительно в XHTML.

Ответ 4

Нет. <hr /> не должен иметь закрывающий тег.

Недействительный HTML.

Допустимый XML и, следовательно, технически он действительный xhtml, но вы все равно не должны его использовать, даже если вы используете xhtml.

Это потому, что все браузеры фактически используют свой парсер HTML даже при рендеринге кода xhtml, и поэтому закрывающий тег </hr> рассматривается как ошибка. Некоторые браузеры могут даже неправильно интерпретировать его как дополнительный элемент <hr>.

Единственный совместимый с кросс-браузером способ - либо <hr> (т.е. простой HTML), либо <hr />, если вы хотите иметь действительный документ xhtml.

Ответ 5

Насколько я знаю, нет закрывающего тега hr. Тег является чисто самозакрывающимся, и определение типа документа будет отражать это.

Ответ 6

Поскольку это пустой элемент, нет смысла иметь открытые и закрытые теги.

Однако XML требует, чтобы все теги были закрыты, поэтому форма <hr />.

Я полагаю, что в HTML, а не в XML, <hr></hr> действителен, но не нужен.