Мобильная версия

Электронная библиотека

Программисту веб-дизайнеру

Другие материалы

Спецификация HTML 4.01, рекомендации W3C от 24 декабря 1999 года


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

7  Общая структура документа HTML

Содержание

  • Введение
  • Информация о версии HTML
  • Элемент HTML
  • "Шапка" документа

  • Элемент HEAD
  • Элемент TITLE
  • Атрибут title
  • Метаданные

  • Спецификация метаданных
  • Элемент META
  • Профили метаданных
  • Тело документа

  • Элемент BODY
  • Идентификаторы элемента: атрибуты id и class
  • Элементы инлайн и уровня блока
  • Группирование элементов: элементы div и SPAN
  • Заголовки: элементы H1, H2, H3, H4, H5, H6
  • Элемент AddRESS

  • 7.1
    Введение

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

  • строка, содержащая информацию о версии HTML,
  • объявляющий раздел header/"шапка" (ограниченный элементом HEAD),
  • тело, содержащее собственно сам документ. Тело может выполняться в элементах BODY или FRAMESET.
  • Пробельные символы (пробелы, символы новой строки, символы табуляции и комментарии) могут появляться до или после этого раздела. Разделы 2 и 3 должны быть в границах элемента HTML.

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

    <!DOCTYPE HTML PUBLIC "-//W3C//Dtd HTML 4.01//EN"
     "http://www.w3.org/tr/html4/strict.dtd">
    <HTML>
     <HEAD>
     <TITLE>My first HTML document</TITLE>
     </HEAD>
     <BODY>
     <p>Hello world!
     </BODY>
    </HTML>
    

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

    Корректный документ HTML объявляет, какую версию HTML использует данный документ. Объявление типа документа именует определение типа документа (ОТД) для использования в этом документе (см. [ISO8879]).

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

  • HTML 4.01 Strict/Строгое ОТД включает все элементы и атрибуты, которые не являются не рекомендуемыми или не входят в документ типа "набор фрэймов". Для документов, использующих это ОТД, дайте такое объявление типа :
    <!DOCTYPE HTML PUBLIC "-//W3C//Dtd HTML 4.01//EN"
     "http://www.w3.org/tr/html4/strict.dtd">
  • HTML 4.01 Transitional/Переходное ОТД включает все из строгого ОТД плюс не рекомендуемые элементы и атрибуты (большинство из которых касается визуального представления). Для документов, использующих это ОТД, дайте такое объявление типа:
    <!DOCTYPE HTML PUBLIC "-//W3C//Dtd HTML 4.01 Transitional//EN"
     "http://www.w3.org/tr/html4/loose.dtd">
  • HTML 4.01 Frameset/Набор Фрэймов ОТД включает все из переходного ОТД плюс сами фрэймы. Для документов, использующих это ОТД, дайте такое объявление типа:
    <!DOCTYPE HTML PUBLIC "-//W3C//Dtd HTML 4.01 Frameset//EN"
     "http://www.w3.org/tr/html4/frameset.dtd">
  • URI в каждом из этих объявлений типа документа позволяет пользовательским агентам (ПА) загрузить необходимые ОТД наборы мнемоник. Следующие (относительные) URI ссылаются на ОТД и наборы мнемоник для HTML 4:

  • "strict.dtd" -- строгое ОТД ,по умолчанию
  • "loose.dtd" -- свободное ОТД
  • "frameset.dtd" -- ОТД для набора фрэймов
  • "HTMLlat1.ent" -- Latin-1 мнемоники
  • "HTMLsymbol.ent" -- мнемоники символов
  • "HTMLspecial.ent" -- специальные мнемоники
  • Связь между публичными идентификаторами и файлами может быть установлена с использованием файла каталога образцов в соответствии с форматом, рекомендованным Oasis Open Consortium (см. [OASISOPEN]). Файл каталога образцов HTML 4.01 включен в начало раздела справочной информации SGML для HTML. Последние две буквы в объявлении обозначают язык ОТД. Для HTML это всегда английский ("EN").

    Примечание. Начиная с версии HTML 4.01 от 24 декабря, the HTML Working Group придерживается следующей политики:

  • любые будущие изменения в ОТД HTML 4 не изменят корректности документов. соответствующих ОТД настоящей спецификации. The HTML Working Group оставляет за собой право корректировать обнаруженные "жучки";
  • программные средства, соответствующие ОТД настоящей спецификации, могут игнорировать возможности будущих ОТД HTML 4, которые ими не распознаются.
  • Это означает, что в объявлении типа документа  авторы могут спокойно использовать системные идентификаторы, которые ссылаются на позднейшую версию ОТД HTML 4.
    Авторы могут также выбрать использование системных идентификаторов, ссылающихся на специфическую (датированную) версию ОТД HTML 4 при проверке необходимости наличия конкретного ОТД.
    W3C приложит соответствующие усилия для того, чтобы архивные документы были неограниченно доступны по своим оригинальным адресам и в своей оригинальной форме.


    7.3
      Элемент HTML

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

    Начальный тег: не обязателен, Конечный тег: не обязателен

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

    version = cdata [CN]

    Не рекомендуется. Значением этого атрибута является версия ОТД HTML, под управлением которого создан текущий документ. Этот атрибут не рекомендуется использовать, поскольку он является излишним при наличии информации о версии, предоставляемой объявлением типа документа.

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

  • lang (язык), dir (направление текста)
  • После объявления типа документа, остальной документ HTML является содержимым элемента HTML.
    Таким образом, типичный документ HTML имеет такую структуру:

    <!DOCTYPE HTML PUBLIC "-//W3C//Dtd HTML 4.01//EN"
    "http://www.w3.org/tr/html4/strict.dtd">
    <HTML>
    ...элементы head, body и т.п. идут здесь...
    </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; #ПРЕДПОЛАГАЕТСЯ -- именованный словарь метаинформации --
     >
    

    Начальный тег: не обязателен, Конечный тег: не обязателен

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

    profile = uri [CT]

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

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

  • lang (язык), dir (направление текста)
  • Элемент HEAD содержит информацию о текущем документе, такую как название/title, ключевые слова, которые могут оказаться полезными при использовании маши поиска, и другие данные, не являющиеся содержимым документа. ПА вообще-то не должны отображать как содержимое документа информацию элемента HEAD. Они могут, однако, сделать информацию из HEAD доступной пользователю с помощью других механизмов.

    7.4.2  Элемент TITLE

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

    Начальный тег: необходим, Конечный тег: необходим

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

  • lang (язык), dir (направление текста)
  • Каждый документ HTML обязан элемент TITLE в разделе HEAD.

    Авторы должны использовать элемент TITLE для идентификации содержимого документа. Поскольку пользователи часто обращаются к документам вне контекста, авторы должны предоставлять осмысленные заголовки. Таким образом, вместо такого заголовка, как "Introduction", который не дает достаточно информации о документе, авторы должны записать, например, так: "Introduction to Medieval Bee-Keeping".

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

    Заголовок может содержать символьные мнемоники (для изображения букв с акцентами, специальных символов и т.д.), но не может содержать разметку (в том числе и комментарии).
    Вот пример заголовка:

    <!DOCTYPE HTML PUBLIC "-//W3C//Dtd HTML 4.01//EN"
     "http://www.w3.org/tr/html4/strict.dtd">
    <HTML>
    <HEAD>
    <TITLE>A study of population dynamics</TITLE>
    ...другие элементы "шапки"...
    </HEAD>
    <BODY>
    ...тело документа...
    </BODY>
    </HTML>
    

    7.4.3  Атрибут title

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

    title = text [CS]

    Этот атрибут предоставляет информативные данные об элементе, в котором он содержится.

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

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

    ...какой-нибудь текст...
    Here's a photo of
    <A href="http://someplace.com/neatstuff.png" title="Me scuba diving">
     me scuba diving last summer
    </A>
    ...еще какой-нибудь текст...
    

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

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

    7.4.4  Метаданные

    Примечание. The W3C Resource Description Framework (Структура Описания Ресурса) (см. [RDF10]) стал W3C Recommendation в феврале 1999 года. RDF дает авторам возможность специфицировать читаемые машиной метаданные о документах HTML и других ресурсах, доступных в сети.

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

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

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

    Элемент META определил свойство (здесь - "Author") и установил ему значение (здесь - "Dave Raggett").

    Эта спецификация не определяет набор действительных свойств метаданных. Значение свойства и набор действительных значений для этого свойства должны быть определены в справочном словаре, называемом профиль. Например, профиль, созданный для помощи поисковым машинам при индексировании документов, может определять свойства, такие как "author", "copyright", "keywords" и т.д.

    Спецификация метаданных 

    Вообще спецификация метаданных состоит из двух шагов:

  • объявление свойства и значения этого свойства. Это можно сделать двояко:

  • из документа через элемент META;
  • вне документа связыванием метаданных через элемент LINK (см. раздел типы ссылок);
  • ссылка на профиль, где определены свойства и их действительные значения. Чтобы создать профиль, используйте атрибут profile элемента HEAD.
  • Учтите, что, поскольку профиль определен для элемента HEAD, этот же профиль применяется и для всех элементов META и LINK в "шапке" документа.

    От ПА не требуется поддержка механизма метаданных. Для тех ПА, которые поддерживают метаданные, эта спецификация не определяет, как метаданные должны интерпретироваться.

    Элемент META

    <!ELEMENT META - O EMPTY -- родовая метаинформация -->
    <!ATTliST META
     %i18n; -- lang, dir, для использования с этим содержимым --
     http-equiv NAME #ПРЕДПОЛАГАЕТСЯ -- HTTP имя "шапки" ответа --
     name NAME #ПРЕДПОЛАГАЕТСЯ -- имя метаинформации --
     content CDATA #НЕОБХОДИМ -- ассоциированная информация --
     scheme CDATA #ПРЕДПОЛАГАЕТСЯ -- выбор формы содержимого --
     >
    

    Начальный тег: требуется, Конечный тег: запрещен

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

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

    name = name [CS]

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

    content = cdata [CS]

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

    scheme = cdata [CS]

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

    http-equiv = name [CI]

    Этот атрибут может использоваться вместо атрибута name. HTTP серверы используют этот атрибут для получения информации для "шапки" ответа HTTP.

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

  • lang (язык), dir (направление текста)
  • Элемент 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="http://www.ietf.org/rfc/rfc1866.txt">

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

    <LINK rel="DC.identifier"
     type="text/plain"
     href="http://www.ietf.org/rfc/rfc1866.txt">

    META   и  "шапки" HTTP

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

    Следующая выдержка из объявления 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
    и машины поиска

    Обычно 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

    Platform for Internet Content Selection/Платформа для Выбора Содержимого Internet (PICS, специфицированная в [PICS]) это инфраструктура для ассоциирования лэйблов (метаданных) с содержимым Internet. Созданная первоначально как помощь родителям и педагогам для контроля за тем, к чему  дети могут получить доступ в Internet, она также дает возможность использовать лэйблы для пометок кода, политики безопасности и обслуживания прав интеллектуальной собственности.

    Этот пример иллюстрирует, как можно использовать объявление 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 двумя способами:

  • Как уникальное глобальное имя. ПА могут иметь способность распознавать имя (без явного запроса профиля) и выполнять какие-нибудь действия на базе известных соглашений для данного профиля. К примеру, поисковые машины могли бы предоставлять интерфейс для поиска в каталогах документов HTML, где все эти документы используют тот же профиль для представления вхождений каталога.
  • Как гиперссылку. ПА могут разыменовывать URI и выполнять некоторые действия на базе текущих определений в профиле (напр., авторизовать использование профиля в текущем документе HTML). Эта спецификация не определяет форматы профилей.
  • Это пример ссылки на гипотетический профиль, определяющий используемые свойства для индексации документа. Свойства, определенные этим профилем, включая "author", "copyright", "keywords" и "date", имеют свои значения, установленные последовательными объявлениями META:

     <HEAD profile="http://www.acme.com/profiles/core">
     <TITLE>How to complete Memorandum cover sheets</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>
    

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

    Атрибут scheme позволяет авторам предоставлять ПА информацию, более подходящую для корректной интерпретации метаданных. Иногда такая дополнительная информация может быть критичной, если метаданные специфицированы в другом формате. Например, автор может установить дату в (неоднозначном) формате "10-9-97", что может означать 9 октября 1997 или 10 сентября 1997 г. Значение атрибута scheme "Month-Day-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; #ПРЕДПОЛАГАЕТСЯ -- документ был загружен --
     onunload %Script; #ПРЕДПОЛАГАЕТСЯ -- документ был удален --
     >
    

    Начальный тег: не обязателен, Конечный тег: не обязателен

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

    background = uri [CT]

    Не рекомендуется. Значением атрибута является URI, обозначающий источник изображения. Изображение обычно используется для размножения и заполнения фона (для визуальных браузеров).

    text = color [CI]

    Не рекомендуется. Устанавливает цвет текста (для визуальных браузеров).

    link = color [CI]

    Не рекомендуется. Цвет непосещенных гиперссылок (для визуальных браузеров).

    vlink = color [CI]

    Не рекомендуется. Цвет посещенных гиперссылок (для визуальных браузеров).

    alink = color [CI]

    Не рекомендуется. Цвет гиперссылок при выборе пользователем (для визуальных браузеров).

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

  • id, class (идентификаторы документа)
  • lang (язык), dir (направление текста)
  • title (заголовок элемента)
  • style (инлайн-стиль)
  • bgcolor (цвет фона)
  • onload, onunload (внутренние события)
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
  • В теле документа находится содержимое документа. Содержимое может быть представлено ПА разными способами. Например, для визуальных ПА можно представить тело как канву, на которой появляется содержимое: текст, изображения, цвета, графика и т.д. В аудио ПА то же содержимое может быть звучащей речью. Поскольку сейчас предпочтительно использование таблиц стилей для спецификации представления документа, атрибуты представления  BODY  не рекомендуются.

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

    <!DOCTYPE HTML PUBLIC "-//W3C//Dtd HTML 4.01 Transitional//EN"
     "http://www.w3.org/tr/html4/loose.dtd">
    <HTML>
    <HEAD>
     <TITLE>A study of population dynamics</TITLE>
    </HEAD>
    <BODY bgcolor="white" text="black"
     link="red" alink="fuchsia" vlink="maroon">
     ... тело документа...
    </BODY>
    </HTML>
    

    Использование таблиц стилей приведет к тому же результату:

    <!DOCTYPE HTML PUBLIC "-//W3C//Dtd HTML 4.01//EN"
     "http://www.w3.org/tr/html4/strict.dtd">
    <HTML>
    <HEAD>
     <TITLE>A study of population dynamics</TITLE>
     <STYLE type="text/css">
     BODYbackground: white; color: black}
     A:linkcolor: red }
     A:visitedcolor: maroon }
     A:activecolor: fuchsia }
     </STYLE>
    </HEAD>
    <BODY>
     ... тело документа...
    </BODY>
    </HTML>

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

    <!DOCTYPE HTML PUBLIC "-//W3C//Dtd HTML 4.01//EN"
     "http://www.w3.org/tr/html4/strict.dtd">
    <HTML>
    <HEAD>
     <TITLE>A study of population dynamics</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>

    Атрибут id имеет несколько ролей в HTML:

  • переключатель таблиц стилей;
  • anchor/якорь назначения для гипертекстовых ссылок;
  • как значение для ссылки на конкретный элемент из скрипта;
  • как имя объявленного элемента OBJECT;
  • для общих надобностей обработки в ПА (напр., для идентификации полей при извлечении данных из страниц HTML в базы данных, переводе документов HTML в другие форматы и т.п.).
  • Атрибут class одновременно назначает элементу одно или более имен классов; можно сказать, что элемент принадлежит данным классам. Имя класса может разделяться несколькими объектами элемента. Атрибут class имеет несколько ролей в HTML:

  • переключатель таблиц стилей (если автор захочет назначить информацию о стиле нескольким элементам);
  • для общих надобностей обработки в ПА.
  • В следующем примере элемент 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</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.infocolor: green }
    SPAN.warningcolor: yellow }
    SPAN.errorcolor: red }

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

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

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

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

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

    Примечание. Атрибут id разделяет то же пространство имен, что и атрибут name, когда используется для именования якоря. См. дополнительно раздел якоря с id.

    7.5.3  Элементы инлайн и уровня блока

    Некоторые элементы HTML, которые могут появляться в BODY, называются "элементы уровня блока", а другие -  "inline/инлайн" (известные также как "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 --
     >
    

    Начальный тег: необходим, Конечный тег: необходим

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

  • id, class (идентификаторы документа)
  • lang (язык), dir (направление текста)
  • title (заголовок элемента)
  • style (инлайн-стиль)
  • align (выравнивание)
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
  • Элементы div и SPAN в сочетании с атрибутами id и class предоставляют общий механизм для добавления структуры к документу. Эти элементы определяют содержимое как инлайн (SPAN) или уровня блока (div), но не навязывают других идиом представления содержимого. Таким образом, авторы могут использовать эти элементы в сочетании с таблицами стилей, атрибутом lang и т.д. и приспособить HTML к выполнению нужных задач.

    Предположим, например, что мы хотим сгенерировать документ HTML, на основе информации из базы данных клиента. Поскольку HTML не имеет элементов, идентифицирующих объект, таких как "client", "telephone number", "email address" и т.д., мы используем div и SPAN для достижения желаемого структурного эффекта и представления. Можно использовать элемент table для структурирования информации:

    <!-- Пример данных из базы данных клиента: -->
    <!-- Имя: Stephane Boyera, Tel: (212) 555-1212, Email: sb@foo.org -->
    
    <div id="client-boyera" class="client">
    <p><SPAN class="client-title">Client information:</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">Client information:</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;)* -- заголовок
     %attrs; -- %coreattrs, %i18n, %events --
     >
    

    Начальный тег: необходим, Конечный тег: необходим

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

  • id, class (идентификаторы документа)
  • lang (язык), dir (направление текста)
  • title (заголовок элемента)
  • style (инлайн-стиль)
  • align (выравнивание)
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
  • Элемент heading кратко описывает смысл раздела, которому он предшествует. Информация заголовка может использоваться ПА, например, для автоматического создания оглавления документа.

    Имеется шесть уровней заголовков HTML: от H1 (самый крупный/верхний) до H6. Визуальные браузеры обычно отображают более значительный заголовок более крупным шрифтом.

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

    <div class="section" id="forest-elephants" >
    <H1>Forest elephants</H1>
    <p>In this section, we discuss the lesser known forest elephants.
    ...раздел продолжается...
    <div class="subsection" id="forest-habitat" >
    <H2>Habitat</H2>
    <p>Forest elephants do not live in trees but among them.
    ...этот раздел продолжается...
    </div>
    </div>

    Эта структура может быть украшена с помощью таблицы стилей:

    <HEAD>
    <TITLE>... заголовок документа ...</TITLE>
    <STYLE type="text/css">
    div.sectionfont-size: 12pt}
    div.subsectiontext-indent: 2em }
    H1font-style: italic; color: green }
    H2color: 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 --
     >
    

    Начальный тег: необходим, Конечный тег: необходим

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

  • id, class (идентификаторы документа)
  • lang (язык), dir (направление текста)
  • title (заголовок элемента)
  • style (инлайн-стиль)
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
  • Элемент AddRESS может использоваться авторами для указания контактной информации в документе или в большой части документа, например, в форме. Этот элемент часто появляется в начале или в конце документа.

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

    <AddRESS>
    <A href="../People/Raggett/">Dave Raggett</A>,
    <A href="../People/Arnaud/">Arnaud Le Hors</A>,
    contact persons for the <A href="Activity">W3C HTML Activity</A><BR>
    $Date: 1999/12/24 23:07:14 $
    </AddRESS>
    

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


    Мобильная версия

    Сайт для компьютера
    http://www.mat.net.ua