Необязательные теги разметки в HTML5

Необязательные теги в HTML5. В новом стандарте HTML5 некоторые правила разметки были ослаблены. Например, <html>, <body>, <head> больше не являются обязательными тегами. Но даже если они будут отсутствовать, то браузер все равно считает что они присутствуют. Но если есть необходимость применять к данным тегам стили, то их необходимо указывать обязательно.

Тег <HTML>

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

Тег <HEAD>

Начальный тег <HEAD> может быть опущен, в том случае если он пуст, или после него сразу идет другой HTML элемент. Закрывающий тег </head>, так же может быть опущен, но в том случае если он не идет сразу за пробелом или комментарием.

Тег <BODY>

Открывающий тег <BODY> может быть опущен, если он пуст или первое что внутри элемента не является пробелом или комментарием. Исключение составляют случаи когда первое что идет за ним — это элементы <meta>, <link>, <script> или <style>.

Тег <li>

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

Элементы <thead>, <tbody>, <tfoot>, <td>, <tr>

Закрывающий тег </thead> может быть опущен, если элемент <thead> следует сразу за <tbody> или <tfoot>.

Открывающий тег <tbody> может быть опущен, если за ним сразу идет элемент <tr>, и если перед элементом непосредственно не предшествует другой <tbody><thead>, или <tfoot>, закрывающий тег которого был опущен. (Он не может быть опущен, если элемент является пустым.)

Закрывающий тег </tbody> может быть опущен, если после элемента <tbody> сразу следует <tbody> или <tfoot>, или если больше нет содержания в родительском элементе.

Закрывающий тег </tfoot> может быть опущен, если элемент <tfoot> следует сразу же за <tbody>, или если больше нет содержания в родительском элементе.

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

Закрывающий тег </td> может быть опущен, если элемент <td> следует сразу же за еще одним элементом <td> или <th>, или, если нет больше содержания в родительском элементе.

Закрывающий тег </th> может быть опущен, если элемент <th> следует сразу же за <td> или <th>, или, если больше нет содержания в родительском элементе.