Причина существования самозакрывающихся тегов состоит в том, что некоторые элементы, естественно, никогда не будут иметь контент, который идет между тегами. Например, подумайте о теге <br /
. Когда что-то вроде <br></br>
будет полезно? Это просто пустая трата пространства и времени для персонажей. Этот синтаксис происходит от синтаксиса XML и стал частью XHTML.
Определение того, какие теги могут / должны быть автоматически закрыты, находится в HTML-парсере в браузере. Спецификация HTML для версии, которую вы используете, должна определять способ обработки вещей, но, конечно, мы все знаем, что это не всегда так.
Вот отличная статья о самозакрывающихся тегах в HTML5 (и прошлых версиях) для справки.
http://tiffanybbrown.com/2011/03/23/html5-does-not-allow-self-closing-tags/