
XHTML - eXtensible Hypertext Markup Language расширяемый язык разметки гипертекста)
Синтаксис XHTML состоит из строгих правил написания кода, за основу синтаксиса взяты правила написания кода на XML.
1. Имена тегов и атрибутов, должны быть записаны в нижнем регистре.
2. Соблюдайте правильность вложения тегов.
3. Все теги должны быть "закрыты" и парные и одиночные.
4. Значения атрибутов, должны быть взяты в кавычки.
5. Не используйте сокращённых атрибутов.
6. Вместо атрибута name, используйте уникальный идентификатор id, исключение: элементы формы.
В HTML 4 не предавали значения регистру имен тегов и атрибутов, например абзац можно было записать в таком виде:
<P Width="CEnTER"> </p>, в XHTML имена тегов, атрибутов и их значений записываются только в нижнем регистре:
<p width="center"> </p>
1) Нельзя вложение делать перекрестным:
пример перекрестного <i><b>вложения</i></b> тегов,
здесь после тега <b> первым должен идти закрыающий тег </b> а не </i>.
2) Нельзя блочные теги, вкладывать внутрь строчных тегов:
<i><p>пример вложения блочного тега "p" в строчный тег "i"</p></i>
В HTML 4, некоторые парные теги можно было не закрывать, например абзац можно было оформить лишь открывающим тегом:
<p>абзац
В XHTML, все парные теги должны оканчиваться закрывающим тегом:
<p>абзац</p>
В одиночных тегах, перед закрывающей угловой скобкой, должен ставиться пробел и слэш (косая черта) /
| Список одиночных тегов | |||
|---|---|---|---|
| <area /> | <base /> | <br /> | <col /> |
| <command /> | <embed /> | <hr /> | <img /> |
| <input /> | <keygen /> | <link /> | <meta /> |
| <param /> | <source /> | <track /> | <wbr /> |
В HTML 4, значения атрибутов в кавычки можно было не обрамлять <тег атрибут=значение>, в XHTML значения в атрибутах нужно обязательно
обрамлять кавычками <тег атрибут="значение">
Вместо сокращенных атрибутов, используйте их полную версию.
| Сокращённая версия | Полная версия |
|---|---|
| checked | checked="checked" |
| compact | compact="compact" |
| disabled | disabled="disabled" |
| ismap | ismap="ismap" |
| multiple | multiple="multiple" |
| nohref | nohref="nohref" |
| noresize | noresize="noresize" |
| noshade | noshade="noshade" |
| nowrap | nowrap="nowrap" |
| readonly | readonly="readonly" |
| selected | selected="selected" |
Сокращенные атрибуты появишиеся в HTML5.
| Сокращённая версия | Полная версия |
|---|---|
| autofocus | autofocus="autofocus" |
| autoplay | autoplay="autoplay" |
| controls | controls="controls" |
| loop | loop="loop" |
| novalidate | novalidate="novalidate" |
| formnovalidate | formnovalidate="formnovalidate" |
| multiple | multiple="multiple" |
| readonly | readonly="readonly" |
| required | required="required" |
Сокращенные атрибуты, еще называют логическими и булевыми, поскольку вместо их значения можно записать всё что угодно, например
checked="yes", checked="no" или checked="hello" равны атрибуту
checked="checked"
Читать далее: Новые теги в HTML5