7 Глобальная структура документа HTML

Содержание

  1. Введение в структуру документов HTML
  2. Информация о версии HTML
  3. Элемент HTML
  4. Голова документа
    1. Элемент HEAD
    2. Элемент TITLE
    3. Атрибут title
    4. Мета-данные
  5. Тело документа
    1. Элемент BODY
    2. Идентификаторы элементов: атрибуты id и class
    3. "Block-level" и последовательные элементы
    4. Группирующие элементы: элементы DIV и SPAN
    5. Заголовки: Элементы H1, H2, H3, H4, H5 и H6
    6. Элемент ADDRESS

7.1 Введение в структуру документов HTML

Документ HTML 4.0 состоит из трех частей:

  1. Строки, содержащей Информацию о версии HTML,
  2. Декларативной секции заголовка (ограниченной элементом HEAD),
  3. Тела, которое содержит текущее наполнение документа. Тело может быть обозначено элементом BODY или элементом FRAMESET.

Пустое пространство (пробелы, новые строки, табуляции и комментарии) могут появляться до или после каждой секции. Секции 2 и 3 должны находиться внутри элемента HTML.

Приведем пример простого документа HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
   "http://www.w3.org/TR/REC-html40/strict.dtd">
<HTML>
   <HEAD>
      <TITLE>Мой первый документ HTML</TITLE>
   </HEAD>
   <BODY>
      <P>Привет, Мир!
   </BODY>
</HTML>

7.2 Информация о версии HTML

Корректный документ HTML объявляет, какая версия HTML в нем использована. "Декларация типа документа" указывает определение типа документа (DTD), использовавшегося для данного документа (смотрите [ISO8879]).

HTML 4.0 определяет три DTD. Таким образом, авторы могут включать одну из нижеследующих деклараций типа документа в свои документы. DTD могут отличаться друг от друга элементами, которые они поддерживают.

URI-ли для каждой декларации типа документа позволяют средствам просмотра загружать любой DTD и любой набор сущностей, который может понадобиться. Приведенные URI-ли ссылаются на DTD и на наборы сущностей для HTML 4.0, которые поддерживаются W3C:

Связь между общедоступными идентификаторами и файлами может определяться использованием файла каталогов, сопровождающего формат, рекомендованный "Открытым Консорциумом SGML" (смотрите [SGMLOPEN]). Образец файла каталога для HTML 4.0 включен в начало раздела "Справочной информации по SGML для HTML". Последние две буквы декларации указывают язык из DTD. Для HTML -- это всегда Английский ("EN")

7.3 Элемент HTML

<!ENTITY % html.content "HEAD, BODY">

<!ELEMENT HTML O O (%html.content;)    -- корневой элемент документа -->
<!ATTLIST HTML
%i18n;                               -- lang, dir --  >

Начальный тег: необязателен, Заключительный тег: необязателен

Определения атрибута:

version = cdata [CN]
ОТМЕНЕН. Значение этого атрибута описывает, какая версия HTML DTD управляет данным документом. Данный атрибут отменен вследствие того, что яляется излишним при использовании информации о версии, предоставляемой декларацией типа документа.

Атрибуты, описанные в других местах

После декларации типа документа, оставшаяся часть текста HTML- документа содержится в элементе HTML. Таким образом, типичный документ HTML имеет следующую структуру:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/REC-html40/strict.dtd">
<HTML>
...Голова, тело и прочее находятся здесь...
</HTML>

7.4 Голова документа

7.4.1 Элемент HEAD

<!-- %head.misc; определенный ранее как "SCRIPT|STYLE|META|LINK|OBJECT" -->
<!ENTITY % head.content "TITLE & BASE?">
<!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- голова документа -->
<!ATTLIST HEAD
  %i18n;                               -- lang, dir --
  profile     %URI;          #IMPLIED  -- именованный словарь Мета-информации --
  >

Начальный тег: необязателен, Заключительный тег: необязателен

Определения атрибута

profile = uri [CT]
Этот атрибут определяет расположение одного или более контуров метаданных, разделенных пустым пространством. Для будущих расширений средства просмотра должны рассматривать значение как список, даже если данная спецификация рассматривает как существенный только первый URI. Контуры обсуждаются ниже в разделе "Мета-данные".

Атрибуты, описанные в других местах

Элемент HEAD содержит некую информацию о текущем документе, такую как: его название, ключевые слова, которые могут быть полезны для поисковых машин, а также другие данные, которые не считаются содержанием документа. Средства просмотра не должны, как правило, воспроизводить элементы, которые появляются в HEAD как содержание. Однако они могут предоставлять пользователям доступ к информации из элемента HEAD при помощи других механизмов.

7.4.2 Элемент TITLE

<!-- Элемент TITLE не рассматривается как часть текстового потока.
       Он должен быть отображен, например, как заголовок страницы или
       название окна. Для документа требуется только одно название.
    -->
<!ELEMENT TITLE - - (#PCDATA) -(%head.misc;) -- название документа -->
<!ATTLIST TITLE %i18n>

Начальный тег: требуется, Заключительный тег: требуется

Атрибуты, описанные в других местах

Каждый документ HTML должен иметь элемент TITLE в секции HEAD.

Авторам следует использовать элемент TITLE для идентификации содержания документа. Так как пользователи часто справляются о документе не затрагивая само содержание, авторам следует предоставлять емкие по содержанию названия. Таким образом, вместо названия "Введение", которое не дает представления о самом содержании, авторам следует давать название: "Введение в средневековое пчеловодство".

По причине доступности, средства просмотра должны делать содержание элемента TITLE достижимым для пользователей (включая элементы TITLE, которые используются во фреймах). Конкретный механизм зависит от средства просмотра (это может быть написанный заголовок, произносимые слова).

Названия могут содержать символьные сущности (для акцентированных, специальных символов, и т.п.), но не могут содержать другой разметки. Приведем пример названия документа:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
   "http://www.w3.org/TR/REC-html40/strict.dtd">
<HTML>
<HEAD>
<TITLE>Изучение динамики популяции</TITLE>
... прочие элементы заголовка...
</HEAD>
<BODY>
... тело документа...
</BODY>
</HTML>

7.4.3 Атрибут title

Описание атрибута

title = text [CS]
Этот атрибут предлагает консультативную информацию относительно элементов, для которых он установлен.

В отличие от элемента TITLE, который предоставляет глобальную информацию обо всем документе и может появляться лишь однажды, атрибут title может снабжать примечаниями любое количество элементов. Пожалуйста, смотрите определение элемента, с целью удостоверится в том, что он поддерживает этот атрибут.

Значения атрибута title могут быть изображены средством просмотра различными способами. Например, визуальные браузеры часто отображают название как "tool tip" (короткое сообщение, которое появляется, когда указывающее устройство останавливается над объектом). Звуковые (Аудио) средства просмотра могут проговаривать название в похожем контексте. Например, установка атрибута на ссылке позволяет средству просмотра (визуальному и невизуальному) сообщить пользователю информацию о природе связанного документа:

...некоторый текст...
На этой фотографии
<A href="http://someplace.com/neatstuff.gif" title="Я ныряю с аквалангом">
   я ныряю с аквалангом прошлым летом
</A>
...некоторый текст...

Атрибут title может выступать в еще одной роли, когда используется с элементом LINK для указания внешней таблицы стилей. Дополнительную информацию смотрите в секции "Связи и таблицы стилей".

Примечание. Для улучшения качества разговорного синтеза в случаях плохой обработки стандартными методами, будущие версии HTML могут включать атрибуты для кодирования фонематической и просодической информации.

7.4.4 Мета-данные

Поскольку эта спецификация написана, работа является основой, которая позволит авторам назначать более насыщенную машинно-считываемую информацию относительно документов HTML и других ресурсов, доступных по сети. Язык Описания Ресурсов от W3C (смотрите [RDF]) разрабатывается как базовая структура для Мета- данных.

HTML позволяет авторам различными способами устанавливать Мета-данные -- информацию о документе, а не о его содержании.

Например, для того, что бы указать автора документа, можно использовать элемент META следующим образом:

<META name="Author" content="Девид Реггетт (Dave Raggett)">

Элемент META указывает свойство (здесь -- "Author") и назначает для него значение (здесь -- "Дейв Реггетт (Dave Raggett)").

Данная спецификация не определяет набор узаконенных свойств для Мета- данных. Значение свойства и набора узаконенных значений этого свойства должно быть определено в ссылочном словаре, называемом "контур" (profile). Например, контур, разработанный с целью помочь поисковым машинам индексировать документы, может определять такие свойства, как: "author" (автор), "copyright" (авторское право), "keywords" (ключевые слова) и т.п.

Указание Мета-данных 

В общем случае, указание Мета-данных заключается в двух шагах:

  1. Объявлении свойства и значения для этого свойства. Это может быть проделано двумя способами:
    1. Из самого документа, посредством элемента META.
    2. Извне документа, путем связывания Мета-данных при помощи элемента LINK (смотрите раздел "Типы связей").
  2. Ссылке на контур (profile) в котором определено свойство и его узаконенное значение. Для указания контура, используйте атрибут profile элемента HEAD.

Заметьте, что так как контур определен для элемента HEAD, этот же самый контур применим для всех элементов META и LINK в голове документа.

Средствам просмотра не требуется поддерживать механизмы Мета-данных. Для тех, которые предпочтут поддерживать Мета-данные, данная спецификация не определяет то, как должны интерпретироваться Мета-данные.

Элемент META 

<!ELEMENT META - O EMPTY               -- общая мета-информация -->
<!ATTLIST META
  %i18n;                               -- lang, dir, для использования с содержанием --
  http-equiv  NAME           #IMPLIED  -- имя ответного заголовка HTTP --
  name        NAME           #IMPLIED  -- имя мета-информации --
  content     CDATA          #REQUIRED -- ассоциированная информация --
  scheme      CDATA          #IMPLIED  -- выбор формы содержания --
  >

Начальный тег: требуется, Завершающий тег: запрещен

Описания атрибута

Для приведенных атрибутов допустимые значения и их интерпретации являются зависимыми от контура:

name = name [CS]
Этот атрибут идентифицирует имя свойства. Данная спецификация не приводит список узаконенных значений для этого атрибута.
content = cdata [CS]
Этот атрибут указывает значение свойства. Данная спецификация не приводит список узаконенных значений для этого атрибута.
scheme = cdata [CS]
Этот атрибут именует схему, которая будет использоваться для интерпретации значения свойства (дополнительную информацию смотрите в разделе "Контуры").
http-equiv = name [CI]
Этот атрибут может быть использован в месте атрибута name. Серверы HTTP используют этот атрибут для заголовков сообщений ответа HTTP.

Атрибуты, определенные в других местах

Элемент META может быть использован для идентификации свойств документа (например, автора, дата окончания, списка ключевых слов и т.п.) и назначать значения для этих свойств. Данная спецификация не описывает нормативный набор свойств.

Каждый элемент META указывает пару свойство/значение. Атрибут name идентифицирует свойство, а атрибут content указывает значение свойства.

Например, нижеприведенная декларация устанавливает значение для свойства Author (автор):

<META name="Author" content="Dave Raggett">

Атрибут lang может быть использован вместе с META для указания языка для значения атрибута content. Это позволяет применять синтезаторы речи к зависимым от языка правилам произношения.

В данном примере, имя автора объявлено Французским:

<META name="Author" lang="fr" content="Arnaud Le Hors">

Примечание. Элемент META является общим механизмом для указания Мета-данных. Однако некоторые элементы и атрибуты HTML уже обрабатывают определенные части Мета-данных и могут быть использованы авторами вместо META для определения этих частей: элемент TITLE, элемент ADDRESS, элементы INS и DEL, атрибут title и атрибут cite.

Примечание. Когда свойство указанное элементом META принимает значение, являющееся URI-лем, некоторые авторы предпочитают указывать Мета-данные посредством элемента LINK. Таким образом, декларация Мета-данных:

<META name="DC.identifier"
      content="ftp://ds.internic.net/rfc/rfc1866.txt">

также может быть написана как:

<LINK rel="DC.identifier"
         type="text/plain"
         href="ftp://ds.internic.net/rfc/rfc1866.txt">
META и заголовки HTTP

Атрибут http-equiv может быть использован в месте атрибута name и иметь особое значение, в случаях, когда документы возвращаются по Протоколу Передачи Гипертекста (HTTP). Серверы HTTP могут использовать имя свойства указанного атрибутом http-equiv для создания заголовка в [RFC822]-стиле в ответе HTTP. Дополнительную информацию о корректных заголовках HTTP смотрите в "Спецификации HTTP" ([RFC2068]).

Следующий пример META- декларации:

<META http-equiv="Expires" content="Tue, 20 Aug 1996 14:25:27 GMT">

в результате даст следующий заголовок HTTP:

Expires: Tue, 20 Aug 1996 14:25:27 GMT

Это может использоваться КЭШами для определения времени, когда следует запрашивать "свежую" копию связанного документа.

Некоторые средства просмотра поддерживают использование META для обновления текущей страницы по прошествии указанного количества секунд, с предоставлением выбора замены текущего URI новым.

<META http-equiv="refresh" content="3,http://www.acme.com/intro.html">

Содержание является числом, указывающим задержку в секундах, сопровождаемым URI-лем, которое должно быть загружено по истечении времени задержки. Этот механизм, главным образом, используется с целью показать пользователям поверхностную вводную страницу. Однако так как некоторые средства просмотра не поддерживают этот механизм, авторам следует создавать содержание вводной страницы, с возможностью позволить пользователям перейти к следующим страницам самостоятельно (таким образом, они не окажутся "выброшенными на мель" во вводной странице).

META и поисковые машины

Общее использование META состоит в указании ключевых слов, которые поисковые машины могут использовать для улучшения качества поиска. Когда элементы META представляют языково- зависимую информацию о документе, поисковые машины могут фильтровать атрибуты lang для отображения результатов используя языковые предпочтения пользователя. Например:

<-- Для говорящих на Американском Английском -->
<META name="keywords" lang="en-us"
         content="vacation, Greece, sunshine">
<-- Для говорящих на Британском Английском -->
<META name="keywords" lang="en"
         content="holiday, Greece, sunshine">
<-- Для Говорящих на Французском -->
<META name="keywords" lang="fr"
         content="vacances, Gr&egrave;ce, soleil">

Эффективность поисковых машин также может быть увеличена использованием элемента LINK для указания ссылок на переводы документа на другие языки, ссылок на версии документа в других средах (например в формате PDF) и в случаях, когда документ является частью коллекции, ссылки на соответствующую начальную точку для просмотра коллекции.

Дополнительная информация может быть найдена в разделе "Помощь поисковым машинам индексировать Ваш Web-сайт.

META и PICS
Платформа для выбора Содержания Интернет (PICS, описанная в [PICS]) является инфраструктурой для ассоциирующих меток (Мета-данных) с Содержанием Интернет. Первоначально разработанная с целью помочь родителям и учителям контролировать, к чему дети могут получить доступ в Интернет, она также способствует другому использованию меток, включающих кодовую подпись, секретность и управление правами интеллектуального свойства.

Нижеприведенный пример иллюстрирует то, как можно использовать META- декларацию для установления метки соответствующей PICS 1.1:

<HEAD>
 <META http-equiv="PICS-Label" content='
 (PICS-1.1 "http://www.gcf.org/v2.5"
    labels on "1994.11.05T08:15-0500"
      until "1995.12.31T23:59-0000"
      for "http://w3.org/PICS/Overview.html"
    ratings (suds 0.5 density 0 color/hue 1))
 '>
  <TITLE>... название документа ...</TITLE>
</HEAD>
META и информация по умолчанию

Элемент META может быть использован для указания информации по умолчанию для документа в следующих случаях:

Приведенный пример указывает символьную кодировку документа как ISO-8859-5:

<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-5">

Контуры Мета-данных 

Атрибут profile элемента HEAD указывает расположение контура Мета-данных. Значение атрибута profile является URI-лем. Средство просмотра может использовать этот URI двумя способами:

Нижеприведенный пример ссылается на гипотетический контур, который определяет полезные свойства для индексирования документа. Свойства определенные этим контуром -- включая "author" (автор), "copyright"(авторское право), "keywords" (ключевые слова) и "date" (дата) -- имеют значения установленные последующими META- декларациями.

 <HEAD profile="http://www.acme.com/profiles/core">
  <TITLE>Как сделать обложку Меморандума</TITLE>
  <META name="author" content="John Doe">
  <META name="copyright" content="&copy; 1997 Acme Corp.">
  <META name="keywords" content="corporate,guidelines,cataloging">
  <META name="date" content="1994-11-06T08:49:37+00:00">
 </HEAD>

Поскольку данная спецификация написана, является общей практикой использовать формат даты, описанный в Секции 3.3 из [RFC2068]. Так как эти форматы относительно сложны в применении, мы рекомендуем авторам использовать формат даты из [ISO8601]. Дополнительную информацию можно найти в разделах описывающих элементы INS и DEL.

Атрибут scheme позволяет авторам предоставлять средствам просмотра больше содержания для правильной интерпретации Мета-данных. Временами, такая дополнительная информация может быть критической, когда Мета-данные могут быть указаны в различных форматах. Например: автор может указать дату в двусмысленном формате "10-9-97". Это может быть либо 9-е Октября 1997 либо 10 Сентября 1997. Атрибут scheme со значением "Month-Date-Year" (месяц-день-год) прояснит ситуацию со значением даты.

В другое время атрибут scheme может предоставить полезную но не критичную информацию средству просмотра.

Например: следующая scheme- декларация может помочь средству просмотра определить значение свойства "identifier" (идентификатор), являющееся числом кода ISBN:

<META scheme="ISBN"  name="identifier" content="0-8230-2355-9">

Значения атрибута scheme зависят от свойства name и связаны с profile.

Примечание. Примером контура может служить Дублинское Ядро (Dublin Core) (смотрите [DCORE]). Этот контур определяет свойства для электронных библиографических описателей и предназначен способствовать взаимодействию между несопоставимыми моделями описания.

7.5 Тело документа

7.5.1 Элемент BODY

<!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- тело документа -->
<!ATTLIST BODY
  %attrs;                              -- %coreattrs, %i18n, %events --
  onload          %Script;   #IMPLIED  -- документ загружен --
  onunload        %Script;   #IMPLIED  -- документ удален --
  >

Начальный тег: необязателен, Заключительный тег: необязателен

Описания атрибута

background = uri [CT]
Отменен. Значением этого атрибута является URI, который указывает на ресурс- изображение. Изображение как правило заполняет фон (для визуальных браузеров).
text = color [CI]
Отменен. Этот атрибут устанавливает цвет текста (переднего плана) (для визуальных браузеров).
link = color [CI]
Отменен. Этот атрибут устанавливает цвет текста, отмечающего непосещенные гиперссылки (для визуальных браузеров).
vlink = color [CI]
Отменен. Этот атрибут устанавливает цвет текста, отмечающего посещенные гиперссылки (для визуальных браузеров).
alink = color [CI]
Отменен. Этот атрибут устанавливает цвет текста, отмечающего гиперссылки, выбранные пользователем (для визуальных браузеров).

Атрибуты, описанные в других местах

Тело документа содержит физическое наполнение документа (содержание). Содержание может быть представлено средством просмотра различными способами. Например: для визуальных браузеров, Вы можете считать тело своеобразным холстом, на котором появляется содержание: текст, изображения, цвета, графика и т.п. Для звуковых (аудио) средств просмотра, то же самое содержание может быть проговорено. Так как таблицы стилей считаются предпочтительным путем для указания представления документа, презентационные атрибуты элемента BODY отменены.

ПРИМЕР использования ОТМЕНЕННОЙ конструкции:
Приведенный фрагмент HTML иллюстрирует использование отмененных атрибутов. Он устанавливает цвет холста как белый, цвет текста переднего плана -- черным, цвет ссылок для непосещенной, активной и посещенной гиперссылок как Красный, Сиреневый и Коричневый соответственно.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
   "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
 <TITLE>Изучение динамики популяции</TITLE>
</HEAD>
<BODY bgcolor="white" text="black"
  link="red" alink="fuchsia" vlink="maroon">
  ... тело документа...
</BODY>
</HTML>

Использование таблиц стилей позволяет достичь такого же эффекта следующим образом:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
   "http://www.w3.org/TR/REC-html40/strict.dtd">
<HTML>
<HEAD>
 <TITLE>Изучение динамики популяции</TITLE>
 <STYLE type="text/css">
  BODY { background: white; color: black}
  A:link { color: red }
  A:visited { color: maroon }
  A:active { color: fuchsia }
 </STYLE>
</HEAD>
<BODY>
  ... тело документа ...
</BODY>
</HTML>

Использование внешних (связанных) таблиц стилей позволит Вам более гибко изменять представление документа без необходимости вносить поправки в исходный текст документа HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
   "http://www.w3.org/TR/REC-html40/strict.dtd">
<HTML>
<HEAD>
 <TITLE>Изучение динамики популяции</TITLE>
 <LINK rel="stylesheet" type="text/css" href="smartstyle.css">
</HEAD>
<BODY>
  ... тело документа ...
</BODY>
</HTML>

Фреймы и тела документов HTML. Документы, содержащие фреймы, заменяют элемент BODY элементом FRAMESET. Дополнительную информацию смотрите в разделе "Фреймы".

7.5.2 Идентификаторы элементов: атрибуты id и class

Описания атрибутов

id = name [CS]
Этот атрибут назначает имя для элемента. Это имя должно быть уникальным в документе.
class = cdata-list [CS]
Этот атрибут назначает имя класса или устанавливает набор имен классов для элемента. Любому количеству элементов может быть назначено одинаковое имя или имя класса. Множественные имена классов должны быть разделены символами пустого пространства.
Атрибут id назначает уникальный идентификатор для элемента (который должен быть проверен синтаксическим анализатором SGML). Например, приведенные параграфы различаются своими id значениями:

<P id="myparagraph"> Это мой уникально именованный параграф.</P>
<P id="yourparagraph"> Это также уникально именованный параграф.</P>

В HTML атрибут id может выступать в нескольких ролях:

Атрибут class, с другой стороны, назначает одно или более имя классов для элемента; может быть сказано, что элемент принадлежит этим классам. Имя класса может совместно использоваться несколькими элементами. В HTML атрибут class может выступать в нескольких ролях:

В ниже приведенном примере элемент SPAN используется вместе с атрибутами id и class для разметки сообщений документа. Сообщения возникают в обеих -- Английской и Французской версиях.

<!-- Английские сообщения -->
<P><SPAN id="msg1" class="info" lang="en">Variable declared twice</SPAN>
<P><SPAN id="msg2" class="warning" lang="en">Undeclared variable</SPAN>
<P><SPAN id="msg3" class="error" lang="en">Bad syntax for variable name</SPAN>
<!-- Французские сообщения -->
<P><SPAN id="msg1" class="info" lang="fr">Variable d&eacute;clar&eacute; deux fois</SPAN>
<P><SPAN id="msg2" class="warning" lang="fr">Variable ind&eacute;finie</SPAN>
<P><SPAN id="msg3" class="error" lang="fr">Erreur de syntaxe pour variable</SPAN>

Приведенные стилевые правила для CSS предпишут средствам просмотра отображать информационные сообщения зеленым цветом, предупреждающие сообщения -- желтым, а сообщения об ошибках -- красным:

SPAN.info    { color: green }
SPAN.warning { color: yellow }
SPAN.error   { color: red }

Заметьте, что Французское сообщение "msg1" и Английское сообщение "msg1" не могут появляться в том же самом документе, так как они совместно используют то же самое значение id. В дальнейшем, авторы могут использовать атрибут id для усовершенствования представления индивидуальных сообщений, делать его целью для якоря и т.п.

Почти каждый элемент HTML может быть указан идентификатором и информацией класса.

Предположите, например, что мы пишем документ о языке программирования. В документ необходимо включить некоторое количество заранее сформированных примеров. Мы используем элемент PRE для форматирования примеров. Также, мы назначаем цвет фона (зеленый) для всех случаев элемента PRE принадлежащего классу "example".

<HEAD>
<TITLE>... название документа ...</TITLE>
<STYLE type="text/css">
PRE.example { background : green }
</STYLE>
</HEAD>
<BODY>
<PRE class="example" id="example-1">
...здесь находится код примера ...
</PRE>
</BODY>

Установкой атрибута id для этого примера мы можем: (1) создать гиперссылку на него и (2) не принимать во внимание информацию класса стиля, если она присутствует.

Примечание. Атрибут id совместно использует то же самое именное пространство, что и атрибут name, когда он использован для имен якорей. Дополнительную информацию смотрите в разделе "Якоря с id".

7.5.3 "Block-level" и последовательные элементы

Некоторые элементы HTML, которые могут появляться в BODY, как говорится, являются элементами "блок-уровня" (block-level), в то время как другие являются "последовательными" элементами (также известными как "text level" (уровень текста)). Их различие основано на нескольких понятиях:

Модель содержания
Как правило, элементы блок-уровня могут содержать последовательные элементы и другие элементы блок-уровня. Как правило, последовательные элементы содержат только данные и другие последовательные элементы. Присущее этой структуре различие является идеей, по которой блоковые элементы создают "большие" структуры, чем последовательные элементы.
Форматирование
По умолчанию, элементы блок-уровня и последовательные элементы форматированы различным образом. Как правило, элементы блок-уровня начинаются с новой строки, в то время как последовательные -- нет. Информацию относительно пустого пространства, разрывов линий и блокового форматирования, смотрите в разделе "Текст".
Направленность
По техническим причинам, вызванным двунаправленным текстовым алгоритмом [UNICODE], блок-уровневые и последовательные элементы отличаются в своем наследовании информации о направленности. Дополнительную информацию смотрите в разделе "Наследование направления текста".

Таблицы стилей предоставляют значения для определения отображения произвольных элементов, включая и то, как элемент отображается -- блоком или последовательно. В некоторых случаях, таких как последовательный стиль, для списка элементов, это может быть свойственно, но, как правило, авторам рекомендуется принимать во внимание общепринятую интерпретацию элементов HTML подобным образом.

Изменение традиционных презентационных средств выражения для блок- уровневых и последовательных элементов также имеет влияние на алгоритм двунаправленного текста. Дополнительную информацию смотрите в разделе "Эффект таблиц стилей в двунаправленности".

7.5.4 Группирующие элементы: элементы DIV и SPAN

<!ELEMENT DIV - - (%flow;)*            -- общий контейнер языка/стиля -->
<!ATTLIST DIV
  %attrs;                              -- %coreattrs, %i18n, %events --
  >
<!ELEMENT SPAN - - (%inline;)*         -- общий контейнер языка/стиля -->
<!ATTLIST SPAN
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

Начальный тег: требуется, Заключительный тег: требуется

Описания атрибутов

href = uri [CT]
Этот атрибут указывает ресурс, который предоставляет дополнительную информацию относительно содержания элемента DIV или SPAN.

Атрибуты, описанные в других местах

Элементы DIV и SPAN в соединении с атрибутами id и class предлагают общий механизм для добавления структуры к документам. Эти элементы определяют содержание как последовательное (SPAN) или блок-уровневое (DIV), и не налагают других средств выражения на содержание. Таким образом, авторы могут использовать эти элементы совместно с таблицами стилей, атрибутом lang и т.п., с целью приспособить HTML к их нуждам и вкусам.

К примеру, предположите, что мы желаем сгенерировать HTML документ, основанный на базе данных клиентской информации. Так как HTML не имеет элементов, которые бы идентифицировали такие объекты, как "клиент", "номер телефона", "адрес электронной почты" и т.п., мы используем DIV и SPAN для достижения желаемых структурных и презентационных эффектов. Мы можем использовать элемент TABLE следующим образом для структурной информации:

<!-- Пример данных из клиентской базы данных: -->
<!-- Name: Stephane Boyera, Tel: (212) 555-1212, E-mail: sb@foo.org -->

<DIV id="client-boyera" class="client">
<P><SPAN class="client-title">Информация о клиенте:</SPAN>
<TABLE class="client-data">
<TR><TH>Last name:<TD>Boyera</TR>
<TR><TH>First name:<TD>Stephane</TR>
<TR><TH>Tel:<TD>(212) 555-1212</TR>
<TR><TH>Email:<TD>sb@foo.org</TR>
</TABLE>
</DIV>

<DIV id="client-lafon" class="client">
<P><SPAN class="client-title">Информация о клиенте:</SPAN>
<TABLE class="client-data">
<TR><TH>Last name:<TD>Lafon</TR>
<TR><TH>First name:<TD>Yves</TR>
<TR><TH>Tel:<TD>(617) 555-1212</TR>
<TR><TH>Email:<TD>yves@coucou.com</TR>
</TABLE>
</DIV>

Позднее мы сможем легко добавить декларацию таблицы стилей для точного соответствия представления этих вхождений базы данных.

Другие примеры использования смотрите в примере раздела "Атрибуты class и id".

Визуальные средства просмотра, как правило, помещают символ разрыва строки до и после элементов DIV, например:

<P>aaaaaaaaa<DIV>bbbbbbbbb</DIV><DIV>ccccc<P>ccccc</DIV>

обычно отобразится как:

aaaaaaaaa
bbbbbbbbb
ccccc

ccccc

7.5.5 Заголовки: элементы H1, H2, H3, H4, H5 и H6

<!ENTITY % heading"H1|H2|H3|H4|H5|H6">
<!--
  Существует шесть уровней заголовков: от H1 (наиболее важный)
  до H6 (наименее важный).
-->

<!ELEMENT (%heading;)  - - (%inline;)* -- заголовок -->
<!ATTLIST (%heading;)
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

Начальный тег: требуется, Заключительный тег: требуется

Атрибуты, описанные в других местах

Элементы заголовков кратко описывают тему раздела, который они представляют. Информация заголовка может быть использована средством просмотра, например, для автоматического просмотра таблицы содержания документа.

Существует шесть уровней заголовков в HTML: H1, как наиболее и H6, как наименее важный. Визуальные средства просмотра обычно изображают более важные заголовки более большими шрифтами, чем менее важные.

Приведенный пример демонстрирует, как использовать элемент DIV для связывания заголовка с разделом документа, который за ним следует. Подобное применение позволит Вам определять стиль раздела (цвет фона, установить шрифт и т.п.) при помощи таблиц стилей.

<DIV class="section" id="forest-elephants" >
<H1>Лесные слоны</H1>
<P>В этом разделе мы обсудим малоизвестных лесных слонов.
...продолжение этого раздела...
<DIV class="subsection" id="forest-habitat" >
<H2>Место распространения</H2>
<P>Лесные слоны не живут в деревьях, а среди них.
...продолжение этого подраздела...
</DIV>
</DIV>

Эта структура может быть оформлена стилевой информацией следующим образом:

<HEAD>
<TITLE>... название документа ...</TITLE>
<STYLE type="text/css">
DIV.section { text-align: justify; font-size: 12pt}
DIV.subsection { text-indent: 2em }
H1 { font-style: italic; color: green }
H2 { color: green }
</STYLE>
</HEAD>

Нумерованные разделы и ссылки
HTML самостоятельно не вызывает номера разделов сгенерированных из заголовков. Эта гибкость может быть предложена средствами просмотра. Вскоре такие языки таблиц стилей, как CSS позволят пользователям контролировать генерацию номеров разделов (удобно для упреждающих ссылок в напечатанных документах, как в "Смотрите раздел 7.2").

Некоторые люди считают пропуск уровней заголовков плохой практикой. Они принимают использование H1 H2 H1, но отвергают H1 H3 H1, так как был пропущен уровень заголовка H2.

7.5.6 Элемент ADDRESS

<!ELEMENT ADDRESS - - (%inline;)* -- Информация об авторе -->
<!ATTLIST ADDRESS
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

Начальный тег: требуется, Заключительный тег: требуется

Атрибуты, описанные в других местах

Элемент ADDRESS может быть использован авторами для снабжения контактной информацией для документа или главной части документа как формы. Этот элемент часто появляется в начале или в конце документа.

Например, страница на сайте W3C, относящаяся к HTML может включать следующую контактную информацию:

<ADDRESS>
<P><A href="../People/Raggett/">Dave Raggett</A>,
<A href="../People/Arnaud/">Arnaud Le Hors</A>,
контактные лица для
<A href="Activity">W3C Деятельности по HTML</A><BR>
$Date: 1997/12/16 05:38:14 $
</ADDRESS>

предыдущий   следующий   содержание   элементы   атрибуты   индекс

Last modified: Wed Feb 04 21:17:10 1998 1