Синтаксическая структура XHTML
XHTML — eXtensible Hypertext Markup Language расширяемый язык разметки гипертекста)
Синтаксис XHTML состоит из строгих правил написания кода, за основу синтаксиса взяты правила написания кода на языке XML.
Правила написания кода, на XHTML
- Имена тегов и атрибутов, должны быть записаны в нижнем регистре.
- Соблюдайте правильность вложения тегов.
- Все теги должны быть "закрыты" и парные и одиночные (например вместо <br>, нужно записывать <br />)
- Значения атрибутов, должны быть взяты в двойные кавычки.
- Не используйте сокращённых атрибутов.
- Вместо атрибута
name
, используйте уникальный идентификаторid
, исключение: элементы формы.
Регистр в XHTML
В HTML 4 не предавали значения регистру имен тегов и атрибутов, например абзац можно было записать в таком виде:
<P Class="CEnTER"> </p>
, в XHTML имена тегов, атрибутов и их значений записываются только в нижнем регистре: <p class="center"> </p>
Вложенность тегов в XHTML
Нельзя вложение делать перекрестным:
пример перекрестного <i><b>вложения</i></b> тегов
,
здесь после тега <b>
первым должен идти закрывающий тег </b>
, а не закрывающий тег </i>
.
Нельзя блочные теги, вкладывать внутрь строчных тегов:
<i><p>пример вложения блочного тега "p", в строчный тег "i"</p></i>
Соблюдайте "закрытость" тегов в XHTML
В HTML 4, некоторые парные теги можно было не закрывать, например абзац <p> можно было оформить лишь открывающим тегом:
<p>абзац
В XHTML, все парные теги должны иметь закрывающий тег:
<p>абзац</p>
В одиночных тегах, перед закрывающей угловой скобкой, должен ставиться пробел и слэш (косая черта) /
Список одиночных тегов в XHTML | |||
---|---|---|---|
<area /> | <base /> | <br /> | <col /> |
<command /> | <embed /> | <hr /> | <img /> |
<input /> | <keygen /> | <link /> | <meta /> |
<param /> | <source /> | <track /> | <wbr /> |
Использование кавычек в атрибутах значений XHTML
В HTML 4, значения атрибутов в кавычки можно было не обрамлять <тег атрибут=значение>
, в XHTML значения в атрибутах, нужно обязательно обрамлять двойными кавычками <тег атрибут="значение">
Сокращенные атрибуты в XHTML
Вместо сокращенных атрибутов, в 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"
или просто checked
Читать далее: Новые теги в HTML5