Я не собираюсь переусердствовать в этом, тем более что большинство страниц, которые я пишу, либо сгенерированы, либо тег содержит контент. Единственные два, которые когда-либо создавали мне проблемы при самозакрытии:
<title/>
Для этого я просто прибегнул к тому, чтобы всегда давать ему отдельный закрывающий тег, поскольку, попав в <head></head>
, он в действительности не делает ваш код более сложным для работы.
<script/>
Это самая большая проблема, с которой я совсем недавно столкнулся. В течение многих лет я всегда использовал самозакрывающиеся теги <script/>
, когда скрипт поступает из внешнего источника. Но я совсем недавно начал получать сообщения об ошибках JavaScript о нулевой форме. После нескольких дней исследований я обнаружил, что проблема была (предположительно) в том, что браузер никогда не получал тег <form>
, потому что не понимал, что это конец тега <script/>
. Поэтому, когда я сделал это в отдельных тегах <script></script>
, все работало. Почему разные на разных страницах, которые я сделал в одном браузере, я не знаю, но найти решение было большим облегчением!