Подтвердить что ты не робот

Самозакрывающиеся теги (элементы void) в HTML5

Шаг 6 из 8.1.2.1. Начальные теги спецификации HTML5 говорят, что void elements может иметь один символ /. Я думаю, что так проще переносить сайты, которые XHTML переходят на HTML5.

Какая лучшая практика?

Например, если я создаю веб-сайт с HTML5 (<!DOCTYPE html>), что я должен делать?

  • без косой черты

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    
  • с косой чертой

    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    

Если оба рендеринга корректно отображаются во всех браузерах, то я предполагаю (1) без косой черты - это путь, поскольку он больше HTML5.

4b9b3361

Ответ 1

Нет консенсуса относительно наилучшей практики, и, по словам автора спецификации, Ян Хиксон, это не имеет значения.

Ответ 2

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

Более простой способ состоит в том, чтобы, вероятно, просто написать без самозакрывающегося "/", если только нет необходимости в разметке разметки как XML - в этом случае вам также понадобится

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >

Ответ 3

Закрытие тега косой чертой - более явный способ обозначить, что он не имеет закрывающего тега.

Ответ 4

Google предлагает в своем руководстве по стилю: не закрывать элементы void.

HTML5 (синтаксис HTML) предпочтительнее для всех HTML-документов... Хотя и отлично с HTML, не закрывайте элементы void

Лично я привык закрывать теги косой чертой и обнаруживаю, что /> помогает мне распознать, что тег не будет иметь закрывающий тег.

Ответ 5

В этой статье объясняется разница между двумя версиями: http://www.colorglare.com/2014/02/03/to-close-or-not-to-close.html

Две версии полностью идентичны.

Собственно, можно утверждать, что добавление "/" в тег void является проигнорированной синтаксической ошибкой.