Перейти к основному содержимому

HTML в Сравнении с XHTML

XHTML — это более строгая, более основанная на XML версия HTML.


Что Такое XHTML?

XHTML расшифровывается как EXtensible HyperText Markup Language. Это более строгая, более основанная на XML версия HTML; фактически это HTML, определённый как приложение XML. Он поддерживается всеми основными браузерами.


Зачем Нужен XHTML?

XML — это язык разметки, в котором каждый документ должен быть размечен правильно, то есть «правильно сформирован». XHTML был создан, чтобы сделать HTML более расширяемым и способным работать с другими форматами данных, такими как XML. Браузеры игнорируют ошибки в HTML и всё равно пытаются показать страницу, но XHTML использует гораздо более строгую обработку ошибок.


Самые Важные Отличия от HTML

Основные отличия: <!DOCTYPE> обязателен; атрибут xmlns на <html> обязателен; <html>, <head>, <title> и <body> обязательны; элементы всегда должны быть правильно вложены; элементы всегда должны быть закрыты; имена элементов и атрибутов должны быть в нижнем регистре; значения атрибутов должны быть в кавычках; а сокращение атрибутов запрещено.


XHTML - <!DOCTYPE ....> Обязателен

Документ XHTML должен иметь объявление <!DOCTYPE> для XHTML. Элементы <html>, <head>, <title> и <body> должны присутствовать, а атрибут xmlns на <html> должен задавать пространство имён XML.

Минимальный документ XHTML

Документ XHTML с минимально необходимыми тегами.

index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title of document</title>
</head>
<body>

some content here...

</body>
</html>

Элементы XHTML Должны Быть Правильно Вложены

В XHTML элементы всегда должны быть правильно вложены. Поэтому <b><i>Какой-то текст</i></b> корректно, а закрытие их в неправильном порядке — нет.


Элементы XHTML Всегда Должны Быть Закрыты

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


Пустые Элементы XHTML Всегда Должны Быть Закрыты

В XHTML пустые элементы также должны быть закрыты, заканчивая тег слэшем, например <br />, <hr /> и <img ... />.

Закрытые пустые элементы

Пустые элементы, написанные в стиле XHTML, закрытые слэшем.

index.html
A break: <br />
A horizontal rule: <hr />
An image: <img src="happy.gif" alt="Happy face" />

Элементы XHTML Должны Быть в Нижнем Регистре

В XHTML имена элементов всегда должны быть в нижнем регистре, поэтому <body> и <p>, а не <BODY> и <P>.


Имена Атрибутов XHTML Должны Быть в Нижнем Регистре

В XHTML имена атрибутов всегда должны быть в нижнем регистре, поэтому href, а не HREF.


Значения Атрибутов XHTML Должны Быть в Кавычках

В XHTML значения атрибутов всегда должны быть в кавычках, поэтому пишите значение href в кавычках, а не без них.


Сокращение Атрибутов XHTML Запрещено

В XHTML сокращение атрибутов запрещено, поэтому вы должны писать полную пару, например checked="checked" и disabled="disabled", а не просто checked или disabled.

Полные пары атрибутов

Булевы атрибуты, записанные полностью, как того требует XHTML.

index.html
<input type="checkbox" name="vehicle" value="car" checked="checked" />
<input type="text" name="lastname" disabled="disabled" />

Проверьте HTML С Помощью Валидатора PromptCookbook

PromptCookbook включает поле, где вы можете ввести веб-адрес, чтобы проверить свой HTML с помощью валидатора PromptCookbook.