Нужно ли нам по-прежнему использовать косые черты в HTML5?

В HTML5 нам все еще нужна косая черта, как в XHTML?

<img src="some_image.png" />

validator.w3.org не жаловался, если я его бросил, даже не предупредил. Но некоторые онлайн-документы, похоже, указывают на то, что косые черты по-прежнему необходимы для таких тегов, как img, link, meta, br и т.д.

Ответ 1

Теги

img - это Void Elements, поэтому им не нужен конечный тег.

Элементы пустот area, base, br, col, command, embed, hr, img, input, keygen, link, meta, param, source, track, wbr

...

Элементы Void имеют только начальный тег; конечные теги не должны указываться для элементов void.

W3C | WHATWG

Говоря это, не строгий синтаксический разбор в HTML5, поэтому он не наносит большого вреда.

Ответ 2

В HTML 5 закрывающая косая черта является необязательной для элементов void, таких как img (я добавляю это, потому что в принятом в настоящее время ответе только говорится: "конечные теги не должны указываться для элементов void" и не адресует закрытие слэшей в элементах пустоты).

Цитирование из http://www.w3.org/TR/html5/syntax.html#start-tags (номер 6):

Затем, если элемент является одним из элементов void или элемент является внешним элементом, тогда может быть один символ "/" (U + 002F). Этот символ не влияет на элементы void, но на чужие элементы он отмечает начальный тег как самозакрывающийся.

Ответ 3

Неа. HTML никогда не требовал этого, даже до HTML5. Если вы планируете использовать XHTML с функциями HTML, то да, это необходимо.

Ответ 4

В соответствии с Start Tags они являются необязательными.

Ответ 5

FROM W3C:

Элементы Void: area, base, br, col, embed, hr, img, input, keygen, link, meta, param, source, track, wbr

"Элементы Void имеют только начальный тег, конечные теги не должны указываться для элементов void."

http://www.w3.org/TR/html5/syntax.html#void-elements

Ответ 6

ВСЕ теги должны быть закрыты (либо закрываются автоматически, либо отдельным действием закрытия). Некоторые из них закрываются в HTML4 (например, тег <img>), а другие (например, тег <p>) требуют отдельных закрывающих тегов. Помните, что ВСЕ теги должны быть закрыты или браузер (если он строго соблюдает) будет иметь ошибки. Это означает, что даже теги, которые не имеют содержания между открытием и закрытием, ДОЛЖНЫ быть закрыты так или иначе. Ниже я рассмотрю тег <img>, поскольку у него нет содержимого между открытием и закрытием.

В HTML4 он самозакрывается. Это не означает, что он не закрывается, так как помните, что ВСЕ теги должны быть закрыты. Он просто закрывается самим присутствием. Поэтому в HTML4 тег <img> просто: <img>

В XHTML он НЕ закрывается. Это означает, что вы должны предоставить отдельный закрывающий тег, например: <img></img>

Затем в HTML5 кто-то наконец стал умным и решил закрыть тег, у которого нет содержимого между открытием и закрытием, очень простая задача. Используйте только один тег, но перед символом больше, чем знак: <img />

Это также полностью обратно совместимо с HTML4. Если вы не используете XHTML (который требует отдельного закрывающего тега) и не уверены, использует ли ваш код стандарты HTML4 или HTML5. Лучше всего ВСЕГДА иметь закрытие косой черты перед значком для тегов, у которых нет содержимого между открытием и закрытием. Таким образом, он ВСЕГДА будет отображаться правильно в КАЖДОМ браузере.

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

<!DOCTYPE html>
<html>
<head>
<title>test website</title>
</head>
<body>
<p>This is a test.</p>
<img src="testpic.jpg" />
</body>
</html>