Самозакрывающиеся теги (пустые элементы) в HTML5 - PullRequest
30 голосов
/ 14 января 2011

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

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

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

  1. без косой черты

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

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

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

Ответы [ 5 ]

21 голосов
/ 14 января 2011

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

16 голосов
/ 14 января 2011

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

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

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
15 голосов
/ 11 октября 2011

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

12 голосов
/ 17 декабря 2013

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

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

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

4 голосов
/ 03 февраля 2014

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

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

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

...