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