Не нужно ли закрывать тег в HTML 5 как HTML? - PullRequest
6 голосов
/ 10 сентября 2011

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

Почему этот код действителен в валидаторе W3C

<!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 не годятся для Web?

Ответы [ 3 ]

9 голосов
/ 10 сентября 2011

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

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

7 голосов
/ 10 сентября 2011

Считают ли создатели HTML5, что более строгие правила XHTML не годятся для Web?

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

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

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

0 голосов
/ 07 ноября 2016

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

A p конечный тег элемента может быть опущен, если элемент p сразу за ним следует адрес , статья , в стороне , blockquote , dir, div , dl , fieldset , нижний колонтитул , форма , h1 , h2 , h3 , h4 , h5 , h6 , header , hr , menu , nav , ol , p, pre , section , table или 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.

...