Хочу разобраться как правильно, по стандарту писать такие ( void, foreign) теги.
Обычно, есть 2 вида синтаксиса.
Без слеша на конце
<link rel="stylesheet" type="text/css" href="style.css">
<br>
и
Cо слешем на конце
<link rel="stylesheet" type="text/css" href="style.css" />
<br />
В попытках разобраться в вопросе, нашел в интернете кучу самых разных ответов. Люди объясняют это по разному. Кучу мнений экспертов. Нет единства и главное часто нет доказательств - ссылок на документы, спецификацию.
Разумеется, пошел сам читать спецификацию.
w3c.github.io/html/syntax.html#void-elements
Start tags must have the following format:
6. Then, if the element is one of the void elements, or if the element is a foreign element, then there may be a single U+002F SOLIDUS character (/). This character has no effect on void elements, but on foreign elements it marks the start tag as self-closing.
Если элемент один из пустых или внешних - тогда там может быть /. Этот символ не влияет на пустые элементы, но для внешних элементов он помечает начальный тег как самозакрывающийся.
Может быть? А может и нет. Зачем? Нужно или нет? Что он делает?
Да, я вижу что написано только про пустые
area, base, br, col, embed, hr, img, input, link, meta, param, source, track, wbr
и внешние
Elements from the MathML namespace and the SVG namespace.
теги.
Но какова суть такого альтернативного синтаксиса для данных тегов?
Так как правильно писать теги?