Правильно ли использовать самозакрывающие теги в HTML5?

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Непустые элементы (non-void) в HTML5, например <div> и <span>, требуют наличия явного закрывающего тега. Их нельзя применять в самозакрывающемся формате (<tag />). Правильным будет использование этих элементов в формате <div></div> или <span></span>, но не <div /> или <span />.

Пример правильного использования:

HTML
Скопировать код
<!-- Верное использование, нарушений нет -->
<div></div>
<span></span>

<!-- Неправильное использование, так делать не рекомендуется -->
<div />
<span />
Кинга Идем в IT: пошаговый план для смены профессии

Разновидности элементов в HTML5

Пустые элементы (void) в HTML, например <input>, <br> и <img>, изначально не предусматривают содержания в себе и отсюда возможность их самозакрытия. Формат <img src="party-cat.gif" /> (завершающий слеш необязателен) звучит как приглашение на вечеринку!

Им противостоят непустые элементы — они чаще всего включают другой контент или элементы и требуют закрывающий тег. Например, <ul><li>Кролик прыг-скок</li></ul> напоминает о том, как важно не потерять пару носков в процессе стирки.

Отношения XHTML и HTML5

В сфере XHTML, подчиняющейся нормам XML, самозакрывающиеся теги (<element />) применяются исключительно для пустых элементов. Однако когда XHTML "одевает костюм" MIME-типа text/html, он "приходит на вечеринку" HTML и адаптируется к стандартам HTML5, забывая о строгости XML.

Правила для элементов из иных языков разметки

Элементы из других языков разметки, как профессиональные <svg> и алгебраические <math> из семейств SVG и MathML соответственно, применяют правила XML в контексте HTML5. Это означает, что <path d="...здесь могла бы быть ваша реклама" /> внутри встроенного элемента SVG будет выглядеть стильно.

Избегайте ошибок с самозакрывающимися тегами

Хотя браузеры могут прощать синтаксические неточности типа <div />, но полагаться на эту автокоррекцию также рискованно, как хвалить молот Тора за его грацию. Лучше воспользоваться инструментами для валидации, такими как валидатор W3C, чтобы избежать подобных проблем.

Сериализация и интерпретация браузером

Понимание того, как браузер обрабатывает и визуализирует HTML-контент, разделяет начинающих разработчиков и профессионалов. Браузеры исправляют ошибки в разметке автоматически, но это может привести к нежелательным изменениям структуры документа.

HTML5 и его отказ от SGML

HTML5 отказался от условий SGML (стандартного языка общего разметки), который требовал закрывающей скобки >, но иногда допускал "родительские" исключения из этого правила. HTML5 сближается с XML и требует четкого следования правилам.

Визуализация HTML в формате XML

Когда требуется отобразить HTML как XML (тип application/xhtml+xml), MIME-тип задает правила, где и самозакрывающиеся теги находят свое место.

Следование принятым соглашениям

Использование завершающего слеша в самозакрывающихся пустых элементах, как в <br> или <br/>, является вопросом стилистики, но консистентность выбранного стиля подобна дирижёру на вручении "Оскаров": это улучшает читаемость и адаптирует ваш код к разным контекстам использования HTML и XHTML.

Важность следования стандартам

Соблюдение рекомендаций по написанию HTML5 гарантирует, что ваш код корректно взаимодействует с различными типами документов и соответствует тенденциям современного веб-разработки.

Значимость семантики

Правильное применение HTML5 тегов способствует созданию чёткой структуры, улучшает читаемость кода и помогает визуально отделить контент от представления. Таким образом, ваш код становится прозрачным, подобно хорошо структурированному рассказу, в отличие от запутанной головоломки.

Избегание недоразумений

Даже если самозакрывающий синтаксис для непустых элементов не вызывает мгновенных ошибок, в будущем это может создать путаницу и проблемы при работе в команде или взаимодействии с инструментами, которые ожидают код, соответствующий стандартам HTML5.

Завершение

Полезные материалы

  1. HTML Стандартофициальное руководство по ограничениям элементов в HTML5.
  2. Пустой элемент – MDN Web Docs Глоссарий – Подробная информация о пустых элементах HTML.
  3. HTML Стандарт – Официальное руководство по пустым элементам в HTML5.
  4. Валидны ли самозакрывающиеся не пустые теги в HTML5? – Stack Overflow – Обсуждения и мнения разработчиков на тему самозакрывающихся тегов.
  5. HTML Справочник – Краткий справочник по тегам HTML5 с примерами.
  6. HTML | Forms | Codecademy – Важные аспекты форм и ввода данных в HTML.
  7. Сервис валидации разметки W3C – Надежный инструмент проверки HTML-разметки на соответствие правилам HTML5.