Ответ 1
В html есть теги, у которых есть закрывающий тег и тот, у кого его нет. И это более сбивает с толку после введения HTML5. После много исследований Вот что я нашел до сих пор. Надеюсь, вы поймете:)
У парсера HTML есть конечный список элементов, который может быть пустым.
Ответ: Да, парсеры HTML имеют конечный список пустых элементов. Парсер имеет определенные правила для синтаксического анализа и игнорирует пустые теги.
Это элементы, которые могут быть пустыми. (Источник: - Документация Mozilla
<link>
<track>
<param>
<area>
<command>
<col>
<base>
<meta>
<hr>
<source>
<img>
<keygen>
<br>
<wbr>
<colgroup> when the span is present
<input>
В HTML, использование закрывающего тега в пустом элементе недействительно. Например, <input type="text"></input>
является недопустимым HTML, и синтаксический анализатор будет игнорировать те теги.
"Пустые элементы (элементы void)" были введены в HTML по ошибке: презентация разметка проникла на язык, вопреки духу SGML, и с некоторыми странными синтаксическими последствиями. Эта фундаментальная ошибка вызвало некоторые технические проблемы, такие как непреднамеренное несоответствие между HTML и XHTML, что вызывает неожиданности при проверке. Что еще более важно, это иллюстрирует последствия решения сделать HTML формально, и только формально, "приложение SGML". "Пустые элементы" больше чем они выглядят.
Источник (стоит прочитать): cs.tut.fi статья с пустыми элементами)
Что делать, если такой элемент имеет конечный тег?
Парсер будет игнорировать элемент с концевым тегом, и он будет использовать следующий элемент или символ для синтаксического анализа. И синтаксический анализатор будет игнорировать синтаксическую ошибку
Прочтите эту статью w3c, о элементах HTML, содержащих пустоты W3C Link
Статья о пустых элементах 456bereastreet
Цветная блики на пустых элементах Ссылка Colorglare