Вы часто можете оставить закрывающие теги на многих элементах, не изменяя «как это выглядит».Однако, хотя одной из основных целей HTML5 является стандартизация работы браузеров с плохой разметкой , закрытие тегов может неожиданно повлиять на ваш контент.Вот простой пример, список элементов, в которых некоторые элементы являются пустыми, как без явно закрытых тегов, так и с:
<ul>
<li>Item
<li>
<li>Item
<li>
<li>Item
</ul>
<ul>
<li>Item</li>
<li></li>
<li>Item</li>
<li></li>
<li>Item</li>
</ul>
Глядя на два в браузере , они выглядят одинаково,Однако, если вы добавите немного CSS, чтобы скрыть пустые:
li:empty { display: none; }
Теперь они не будут выглядеть одинаково , даже если разметка не изменилась по сравнению с предыдущейпример.Основная причина этого заключается в том, что две версии создают разные деревья DOM, эта версия перебирает все узлы в обоих списках и подсчитывает их, затем показывает результаты и список узлов, обнаруженных в оповещениях.Вы можете видеть, что в верхнем списке 12 узлов DOM, в нижнем списке 15. Результаты, по крайней мере, одинаковы для разных браузеров, и разница заключается в текстовых узлах, которые вы все равно будете часто пропускать при написании сценариев, но это показывает, что даже есливизуальный вывод выглядит одинаково, когда теги закрыты или нет, даже в примере, таком простом, есть основные отличия.