Электронная библиотека
Программисту веб-дизайнеру
Другие материалы
Спецификация HTML 4.01, рекомендации W3C от 24 декабря 1999 года
предыдущий
следующий содержание
элементы атрибуты индекс
7 Общая структура документа HTML
Содержание
7.1 Введение
Документ HTML 4 состоит из трех частей:
Пробельные символы (пробелы, символы новой строки, символы табуляции и комментарии) могут появляться до или после этого раздела. Разделы 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>
Корректный документ HTML объявляет, какую версию HTML использует данный документ. Объявление типа документа именует определение типа документа (ОТД) для использования в этом документе (см. [ISO8879]).
HTML 4.01 специфицирует три ОТД, таким образом, авторы обязаны включить в свой документ одно из нижеследующих объявлений типа документа. ОТД различаются тем, какие элементы они поддерживают.
<!DOCTYPE HTML PUBLIC "-//W3C//Dtd HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//Dtd HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//Dtd HTML 4.01 Frameset//EN" "http://www.w3.org/tr/html4/frameset.dtd">
URI в каждом из этих объявлений типа документа позволяет пользовательским агентам (ПА) загрузить необходимые ОТД наборы мнемоник. Следующие (относительные) URI ссылаются на ОТД и наборы мнемоник для HTML 4:
Связь между публичными идентификаторами и файлами может быть установлена с использованием файла каталога образцов в соответствии с форматом, рекомендованным Oasis Open Consortium (см. [OASISOPEN]). Файл каталога образцов HTML 4.01 включен в начало раздела справочной информации SGML для HTML. Последние две буквы в объявлении обозначают язык ОТД. Для HTML это всегда английский ("EN").
Примечание. Начиная с версии HTML 4.01 от 24 декабря, the HTML Working Group придерживается следующей политики:
Это означает, что в объявлении типа
документа авторы могут спокойно
использовать системные идентификаторы,
которые ссылаются на позднейшую версию ОТД HTML 4.
Авторы могут также выбрать использование
системных идентификаторов, ссылающихся на
специфическую (датированную) версию ОТД HTML 4
при проверке необходимости наличия
конкретного ОТД.
W3C приложит соответствующие усилия для того,
чтобы архивные документы были
неограниченно доступны по своим
оригинальным адресам и в своей
оригинальной форме.
<!ENTITY % html.content "HEAD, BODY"> <!ELEMENT HTML O O (%html.content;) -- корневой элемент документа --> <!ATTliST HTML %i18n; -- lang, dir -- >
Начальный тег: не обязателен, Конечный тег: не обязателен
Определение атрибута
Не рекомендуется. Значением этого атрибута является версия ОТД HTML, под управлением которого создан текущий документ. Этот атрибут не рекомендуется использовать, поскольку он является излишним при наличии информации о версии, предоставляемой объявлением типа документа.
Атрибут, определенный в другом месте
После объявления типа документа,
остальной документ 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 "Шапка" документа
<!-- %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; #ПРЕДПОЛАГАЕТСЯ -- именованный словарь метаинформации -- >
Начальный тег: не обязателен, Конечный тег: не обязателен
Определение атрибута
Определяет размещение одного или более профилей метаданных, разделенных пробелами. С учетом будущих расширений, ПА должны рассматривать значение как список, даже если в данной спецификации значащим является только первый URI. Профили обсуждаются ниже в разделе метаданные.
Атрибут, определенный в другом месте
Элемент HEAD содержит информацию о текущем документе, такую как название/title, ключевые слова, которые могут оказаться полезными при использовании маши поиска, и другие данные, не являющиеся содержимым документа. ПА вообще-то не должны отображать как содержимое документа информацию элемента HEAD. Они могут, однако, сделать информацию из HEAD доступной пользователю с помощью других механизмов.
<!-- Элемент TITLE не является частью отображаемого текста. Он может отображаться, например, как заголовок страницы или название окна. Только один title может быть в документе. --> <!ELEMENT TITLE - - (#PCDATA) -(%head.misc;) -- Заголовок документа --> <!ATTliST TITLE %i18n>
Начальный тег: необходим, Конечный тег: необходим
Атрибуты, определенные в другом месте
Каждый документ 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>
Определение атрибута
Этот атрибут предоставляет информативные данные об элементе, в котором он содержится.
В отличие от элемента TITLE, который дает информацию обо всем документе и может появиться в документе только один раз, атрибут title может содержаться в любом количестве элементов. См. определения элементов, чтобы удостовериться, что они поддерживают этот атрибут.
Значения атрибута title по разному могут рассматриваться ПА. К примеру, визуальные браузеры часто отображают title как "подсказку" (краткое сообщение, появляющееся при наведении указательного устройства на объект). Аудио ПА могут "произносить" информацию заголовка в аналогичном контексте. Например, установка этого атрибута для гиперссылки позволяет ПА (визуальным и не-) сделать сообщение о связанном ресурсе:
...какой-нибудь текст... Here's a photo of <A href="http://someplace.com/neatstuff.gif" title="Me scuba diving"> me scuba diving last summer </A> ...еще какой-нибудь текст...
Атрибут title при использовании с элементом LINK дополнительно играет роль указателя на внешнюю таблицу стилей. См. детали в разделе гиперссылки и таблицы стилей.
Примечание. Для улучшения качества воспроизведения голосового синтеза, будущие версии HTML могут включать атрибут для введения фонетической и голосовой информации.
Примечание. 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" и т.д.
Вообще спецификация метаданных состоит из двух шагов:
Учтите, что, поскольку профиль определен для элемента 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. 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="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è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 двумя способами:
Это пример ссылки на гипотетический профиль, определяющий используемые свойства для индексации документа. Свойства, определенные этим профилем, включая "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="© 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 Тело документа
<!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- тело документа --> <!ATTliST BODY %attrs; -- %coreattrs, %i18n, %events -- onload %Script; #ПРЕДПОЛАГАЕТСЯ -- документ был загружен -- onunload %Script; #ПРЕДПОЛАГАЕТСЯ -- документ был удален -- >
Начальный тег: не обязателен, Конечный тег: не обязателен
Определения атрибутов
Не рекомендуется. Значением атрибута является URI, обозначающий источник изображения. Изображение обычно используется для размножения и заполнения фона (для визуальных браузеров).
Не рекомендуется. Устанавливает цвет текста (для визуальных браузеров).
Не рекомендуется. Цвет непосещенных гиперссылок (для визуальных браузеров).
Не рекомендуется. Цвет посещенных гиперссылок (для визуальных браузеров).
Не рекомендуется. Цвет гиперссылок при выборе пользователем (для визуальных браузеров).
Атрибуты, определенные в другом месте
В теле документа находится содержимое документа. Содержимое может быть представлено ПА разными способами. Например, для визуальных ПА можно представить тело как канву, на которой появляется содержимое: текст, изображения, цвета, графика и т.д. В аудио ПА то же содержимое может быть звучащей речью. Поскольку сейчас предпочтительно использование таблиц стилей для спецификации представления документа, атрибуты представления 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 назначает элементу уникальны идентификатор (который может проверяться разборщиком SGML). Например, следующие параграфы различаются значениями своих id:<p id="myparagraph"> Этот параграф имеет уникальное имя.</p> <p id="yourparagraph"> Этот параграф тоже имеет уникальное имя.</p>
Атрибут id имеет несколько ролей в 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éclar</SPAN> <p><SPAN id="msg2" class="warning" lang="fr">Variable indé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 -- >
Начальный тег: необходим, Конечный тег: необходим
Атрибуты, определенные в другом месте
Элементы 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 -- >
Начальный тег: необходим, Конечный тег: необходим
Атрибуты, определенные в другом месте
Элемент 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
<!ELEMENT AddRESS - - (%inline;)* -- информация об авторе --> <!ATTliST AddRESS %attrs; -- %coreattrs, %i18n, %events -- >
Начальный тег: необходим, Конечный тег: необходим
Атрибуты, определенные в другом месте
Элемент 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>
предыдущий следующий содержание элементы атрибуты индекс