Не нужно ли закрывать тег в HTML 5, как HTML?

Не нужно ли закрывать тег в HTML 5, как HTML? или это ошибка в валидаторе W3C

почему этот код действителен в W3C validator

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>title</title>
    <link rel="stylesheet" href="style.css">
    <script src="script.js"></script>
  </head>
  <body>
<p>Some Text
  </body>
</html>

Я был бы удивлен, если бы он действительно действителен в HTML5. Но есть ли какая-либо польза, чтобы сохранить это поведение в HTML5. Создатели HTML5 считают, что более строгие правила XHTML не были хороши для Интернета?

3 ответов


эта разметка действительно действительна. <p> теги не должны быть закрыты в HTML 4.01 и HTML5. Я не уверен, откуда у вас возникла идея, что HTML5 требует, чтобы все было закрыто, как в XHTML.

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


создатели HTML5 считают, что более строгие правила XHTML не были хороши для Веб?

в значительной степени, да.

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

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


оставляя закрывающий тег для <p> элемент out действителен в большинстве ситуаций, хотя есть несколько, где это не так. The точные правила Консорциума Всемирной паутины являются:

A p конечный тег элемента может быть опущен, если p элемент немедленно сопровождается адрес, статьи, в сторону, blockquote, реж, div, dl, fieldset, футер, форма, h1, h2, h3, Н4, h5, h6, заголовок, hr, меню, nav, ol, p,pre, раздел, таблица или ul элемент, или, если нет больше содержания в родительском элементе и родительский элемент не a элемент.

так, например, недопустимо следующее:

<a href="http://example.com><p>This paragraph is unclosed</a>

но это действует:

<div class="news"><p>Something important happened!</div>

HTML никогда не требовал <p> тег должен быть закрыт-он всегда был необязательным. Вы мая закройте HTML-теги, чтобы он выглядел как хорошо сформированный XHTML, но это не обязательно. XHTML более строгий, чем HTML.