
Разметка, основа каждой страницы
HTML и XHTML являются языками разметки, состоящими из элементов, которые содержат атрибуты (некоторые по выбору и некоторые обязательные). Эти элементы используются для разметки различных типов контента документов, определяя, как каждый элемент контента будет представлен в браузерах Web (например, заголовки, параграфы, таблицы, размеченные списки и т.д.
Как можно было бы догадаться, элементы определяют тип реального контента, в то время как атрибуты определяют дополнительную информацию об этих элементах, такую как ID для идентификации элемента, или некоторое место, на которое указывает ссылка. Необходимо помнить, что разметка предполагается насколько возможно семантической, т.е. предполагается, что она описывает функцию контента как можно более точно. Рисунок 4.1 показывает структуру типичного элемента (X)HTML.
Рис. 4.1. Структура элемента (X)HTML
Анатомия элемента HTML: Символ "меньше", символ "больше" и текст между ними называется начальным тегом, так как он начинает элемент. Текстовая строка состоящая из последовательности символов, за которой следует знак равенства, за которым следует другая последовательность символов, заключенная в символы кавычек, называется атрибутом. Элементы HTML могут иметь более одного атрибута, или ни одного в некоторых случаях. Второй символ меньше, косая черта, второй символ больше и текст между ними называется конечным тегом, так как он заканчивает элемент. Оба тега совместно плюс текст между ними являются элементом.
Помня об этом, посмотрим в чем заключается различие между HTML и XHTML.
Что такое xhtml?
Буква "X" в XHTML означает "расширяемый" (простите, если заголовок раздела показался слишком многообещающим). Один из наиболее общих вопросов новичков звучит как "должен ли я использовать HTML или XHTML, и в чем собственно различие между ними?". По большей части они делают одно и то же, основное различие состоит в структуре. Основные различия показаны в Таблице 4.1.
Таблица 4.1. Различия между HTML и XHTML |
|
HTML |
XHTML |
Элементы и атрибуты не различают регистр символов, <h1> эквивалентно <H1>. |
Элементы и атрибуты различают регистр символов; они используют символы нижнего регистра. |
Некоторым элементам не требуется закрывающий тег (например, параграфы, <p>), в то время как другие (называемые "пустыми элементами") запрещают закрывающий тег (например, изображения, <img>). |
Все элементы должны быть явно закрыты (например, <p>Параграф</p>). Элементы без контента могут быть закрыты с помощью косой черты в начальном теге (например, <hr></hr> и <hr/> будут эквивалентны). Если XHTML обрабатывается как text/html, то необходимо использовать сокращенный синтаксис для всех элементов, которые определены как "пустой" (http://www.cs.tut.fi/~jkorpela/html/empty.html#html), и помещать пробел перед косой чертой. Необходимо использовать длинную форму (с раздельными начальным и конечным тегами) для любого элемента, не определенного как пустой — даже если он не имеет никакого контента. |
Некоторые значения атрибутов могут записываться без кавычек. |
Значения атрибутов должны быть заключены в кавычки. |
Для некоторых атрибутов можно использовать сокращения (например, <option selected>). |
Для всех атрибутов должна использоваться полная форма атрибута (например, <option selected="selected">) |
Серверы должны доставлять клиенту HTML с типом носителя text/html |
XHTML должен использовать тип носителя application/xhtml+xml, но может использовать application/xml, text/xml или text/html. Если используется text/html, то необходимо следовать рекомендациям совместимости HTML, так как браузеры будут интерпретировать его как HTML (и использовать восстановление ошибок с учетом различий между языками). |
Пока мы рекомендуем не беспокоиться слишком много о записи HTML или XHTML. Придерживайтесь советов, данных в этом курсе, и используйте тип документа HTML (больше о типе документа можно будет узнать в лекции 14), и вы не слишком ошибетесь.