Структура документа
Первым тэгом, с которого следует начинать описание документов HTML,является тэг <нтмь>. Он должен всегда начинать описание документа, а за-
вершать описание документа должен тэг </нтмь>. Эти тэги обозначают, что
находящиеся между ними строки представляют единый HTML-документ.
Сам по себе документ является обыкновенным текстовым ASCII-файлом.
Без этих тэгов браузер или другая программа просмотра, возможно, будет не
в состоянии идентифицировать формат документа и правильно его интер-
претировать.
Чаще всего тэг <нтмь> используется без параметров. В предыдущих версиях
использовался параметр VERSION, отмененный спецификацией HTML 4.0. На
смену этому параметру пришел тэг <! DOCTYPEX
Большинство современных браузеров могут опознать документ и не содер-
жащий тэгов <нтмь> и </нтмь>, все же их употребление крайне желательно.
Между парой тэгов <нтмь> и </нтмь> располагается сам документ. Документ
может состоять из двух разделов — раздела заголовка (начинающийся тэгом
<HEAD>) и раздела содержательной части документа (начинающийся тэгом
<BODY>). Для документов, описывающих фреймовые структуры, вместо раз-
дела BODY используется раздел FRAMESET (с тэгом <FRAMESET>). Далее бу-
дут рассмотрены правила составления разделов документа HEAD и BODY.
Построение документов, содержащих фреймы, рассматривается в главе 5.
Раздел документа HEAD
Раздел документа HEAD определяет его заголовок и не является обязатель-
ным тэгом, однако хорошо составленный заголовок может быть весьма по-
лезен. Задачей заголовка является представление необходимой информации
для программы, интерпретирующей документ. Тэги, находящиеся внутри
раздела HEAD (кроме названия документа, описываемого с помощью тэга
<TITLE>), не отображаются на экране.
Раздел заголовка открывается тэгом <HEAD>. Обычно этот тэг следует сразу
же за тэгом <нтмь>. Закрывающий тэг </HEAD> показывает конец этого разде-
ла. Между упомянутыми тэгами располагаются остальные тэги раздела заго-
ловка.
Название документа
Тэг-контейнер <TITLE> является единственным обязательным тэгом заголов-
ка и служит для того, чтобы дать документу название. Оно обычно показы-
вается в заголовке окна браузера. Тэг <TITLE> нельзя путать с названием
файла документа; напротив, он представляет собой текстовую строку, со-
вершенно независимую от имени и местоположения файла, что делает его
весьма полезным. Имя же файла жестко определяется операционной систе-
мой компьютера, на котором он хранится. Также следует отличать название
документа (с тэгом <TITLE>) от заголовков внутри документа, обычно разме-
чаемых тэгами <нх>.
Примечание
Обязательность названия документа, вообще говоря, носит характер настоя-
тельной рекомендации. Документ без тэга <TITLE> также будет отображаться
браузерами. При этом различные браузеры в качестве заголовка окна будут
выдавать различную информацию. Так ранние версии браузера Netscape вы-
давали строчку "No title". Другие браузеры либо не показывают ничего, либо
отображают адрес загруженного файла, повторяя информацию панели Location
браузера.
Название документа записывается между тэгами <TITLE> и </TITLE> и пред-
ставляет собой строку текста. В принципе, название может иметь неограни-
ченную длину и- содержать любые символы-^роме некоторых зарезервиро-
ванных. На практике следует ограничиться одной строкой, имея в виду, что
название появляется в заголовке окна браузера. Также следует помнить о
том, что останется от названия документа при минимизации окна браузера.
Можно рекомендовать ограничивать длину названия документа 60 символа-
ми. Увидеть, как отображается название в окне браузера, можно на любом
рисунке в данной книге, где приводится пример отображения какого-либо
документа.
По умолчанию текст, содержащийся в названии документа, используется
при создании закладки (bookmark) для документа. Поэтому, для большей
информативности, избегайте безликих названий (Home Page, Index и т. д.).
Подобные слова, используемые в качестве названия закладки, обычно со-
вершенно бесполезны. Название документа должно кратко характеризовать
его содержание. Заметим, что при отображении на экране документов с
фреймовой структурой, когда в каждый из фреймов загружается отдельный
документ, имеющий свое название, на экране будет видно только название
главного документа. Тем не менее, задавать название отдельных документов,
предназначенных для загрузки во фреймы, также настоятельно рекоменду-
ется. Более подробно этот вопрос рассматривается в главе 5.
Важность названия документа определяет следующий факт. Поскольку тэг
<TITLE> располагается практически в самом начале HTML-файла, то после
начала загрузки документа первым делом отображается именно оно. Далее
выполняется загрузка основного содержания документа, при этом браузер
начинает форматирование документа в окне. Этот процесс, вообще говоря, в
зависимости от содержания и структуры документа, а также скорости со-
единения, может затянуться. В течение достаточно продолжительного вре-
мени пользователь будет созерцать пустой экран, единственной информа-
тивной строчкой которого будет являться название документа. Весьма часто
(при обрыве соединения или, если пользователь не желает дожидаться
окончания загрузки документа) вся информация о документе на этом и за-
канчивается.
Связь с другими документами
Часто HTML-документы связаны между собой, то есть имеют ссылки друг
на друга. Ссылки могут быть как абсолютные, так и относительные. И те
и другие имеют недостатки. Абсолютные ссылки могут быть слишком гро-
моздкими и переставать работать, если перемещен младший по иерархии
документ. Относительные ссылки легче вводить и обновлять, но и эта связь
обрывается, если перемещен старший по иерархии документ. Оба вида свя-
зей могут нарушиться при переносе документа с одного компьютера на
другой.
Часто случается, что пользователь загрузил на свою машину большой доку-
мент и отключился от сети для его подробного изучения. Все ссылки в ло-
кальной копии документа перестанут работать. Для их "реанимации" при-
дется вновь обратиться к оригиналу документа, находящемуся на удаленном
компьютере.
К счастью, разработчики HTML предусмотрели эту проблему и добавили
два тэга, <ВАЗЕ> и <LINK>, которые включаются в заголовок для того, чтобы
связь между документами не нарушалась.
Тэг <BASE>
Тэг <BASE> служит для указания полного базового URL-адреса документа.
С его помощью относительная ссылка продолжает работать, если документ
переносится в другой каталог или даже на другой компьютер. Тэг <BASE>
работает аналогично команде path MS-DOS, что позволяет программе про-
смотра определить ссылку на искомый документ, даже если она находится
в старшем по иерархии документе, расположенном на другом компьютере.
Тэг <BASE> имеет один обязательный параметр HREF, после которого указы-
вается полный URL-адрес документа. Ниже показан пример использования
тэга <BASE>.
<HTML>
<HEAD>
<Т1ТЬЕ>Указание базового адреса</Т1ТЬЕ>
<BASE HREF="//www.my_host.ru/~sergeev">
</HEAD>
<BODY>
<IMG SRC=/gifs/news.gif ALT="News">
</BODY>
</HTML>
Тэг <BASE> указывает браузеру, где искать файл. В случае, если пользователь
работает с локальной копией файла и его машина не отключена от сети,
изображение пиктограммы News будет найдено и показано в окне браузера.
Тэг <LINK>
Даже если тэг <BASE> позволяет найти файл, остается открытым вопрос
о взаимоотношениях документов. Важность этих отношений возрастает
пропорционально росту сложности ваших документов. Для того чтобы под-
держивать логическую связь между ними, в HTML введен тэг <LINK>.
Тэг <LINK> указывает на связь документа, содержащего данный тэг и другого
документа или объекта. Он состоит из URL-адреса и параметров, конкрети-
зирующих отношения документов. Заголовок документа может содержать
любое количество тэгов <LINK>. Табл. 1.1 описывает параметры тэга <ыж> и
их функции.
Таблица 1.1. Параметры тэга <LINK>
Параметр Назначение
HREF Указывает на URL-адрес другого документа
REL Определяет отношение между текущим и другим документом
REV Определяет отношение между другим документом и текущим
(отношение, обратное REL)
TYPE Указывает тип и параметры присоединенной таблицы стилей
Приведем примеры тэга <ыж> с параметрами:
<LINK REL="contents" HREF ="../toc.html">
<LINK HREF="mailto:sergeev@mall.ifmo.ru" REV="made">
Первая строка указывает на связь с файлом оглавления документа
(toc.html — table of contents) с прямым отношением contents. Вторая строка
описывает связь с URL-адресом автора документа (с обратным отношением
made).
Между документами может существовать множество различных отношений.
Примеры других значений параметра REL: bookmark, copyright, glossary,
help, home, index, toe, next, previous. Параметр REV может также принимать
значения: author, editor, publisher, owner.
Тэг <МЕТА>
Разработка новых спецификаций языка разметки гипертекста занимает не-
малый срок, и за это время компании, производящие браузеры, успевают
выпустить несколько версий своих продуктов. Поэтому в раздел заголовка
может быть добавлен еще один тэг <МЕТА>, позволяющий авторам документа
определять информацию, не имеющую отношения к HTML.
Эта информация используется браузером для действий, которые не преду-
смотрены текущей спецификацией HTML. Тэг <МЕТА> не потребуется вам
для создания первых HTML-документов, но он вам наверняка понадобится,
когда ваши страницы станут более сложными.
Пример:
<МЕТА HTTP-EQUIV="refresh" CONTENT="60" RL="www.my_host.ru/homepage.html">
Браузеры Netscape Navigator и Internet Explorer поймут эту запись как инст-
рукцию ожидать 60 секунд, а затем загрузить новый документ. Такая инст-
рукция часто используется при изменении местоположения документов.
Небольшой документ с приведенной строкой может быть оставлен на ста-
ром месторасположении документа для автоматической ссылки на его новое
месторасположение.
Следующая строка:
<МЕТА HTTP-EQUIV="refresh" CONTENT="60">
инструктирует браузер перезагружать страницу каждые 60 секунд. Это может
быть полезно, если данные на странице часто обновляются, например,
в случае отслеживания котировок акций.
Стало весьма популярным применение элемента <МЕТА> для решения неко-
торых типичных задач. В качестве примера можно привести указание клю-
чевых слов, используемых поисковыми системами. Этот способ позволяет
включать в индекс документа дополнительные слова, которые могут явно не
входить в его содержание. Для этого в тэге <МЕТА> в качестве значения пара-
метра NAME указывается имя некоторого свойства. А при помощи параметра
CONTENT указывается значение данного свойства, например:
<МЕТА NAME="author" CONTENT="Александр Сергеев">
Спецификация HTML не определяет каких-либо конкретных имен свойств,
записываемых в тэге <МЕТА>. Однако есть несколько часто применяемых
СВОЙСТВ, например, description, keywords, author, robots И др.:
<МЕТА NAME="description" CONTENT="Описание возможностей языка HTML 4.0">
<МЕТА NAME="keywords" СОМТЕ№Г="тэг, гипертекст, HTML, браузер">
Приведенные тэги <МЕТА> вполне могли бы быть указаны, например, для
электронного варианта данной книги.
Тэг <МЕТА> может иметь параметры, указанные в табл. 1.2.
Таблица 1.2. Параметры тэга <МЕТА>
Параметр Назначение
HTTP-EQUIV Определяет свойство для тэга
NAME Обеспечивает дополнительное описание тэга. Если этот параметр
опущен, он считается эквивалентным параметру HTTP-EQUIV
URL Определяет адрес документа для свойства
CONTENT Определяет возвращаемое значение для свойства
Еще одно важное предназначение тэга <МЕТА> — это указание кодировки
текста. Так, для текста на русском языке в кодировке Windows нужно запи-
сать следующую строчку:
<МЕТА HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Windows-1251">
Другие элементы заголовка
В разделе заголовка документа могут присутствовать еще два тэга — <STYLE>
и <SCRIPT>. Их назначение связано с использованием таблиц стилей в доку-
менте и записью скриптов. Эти вопросы подробно рассматриваются во вто-
рой части книги.
Раздел документа BODY
В этом разделе документа располагается его содержательная часть. Боль-
шинство тэгов, рассматриваемых далее в этой главе и последующих, должно
располагаться в данном разделе документа. Здесь мы рассмотрим лишь не-
которые общие вопросы.
Раздел документа BODY должен начинаться тэгом <BODY> и завершаться тэ-
гом </BODY>, между которыми располагается все содержимое данного разде-
ла. Строго говоря, наличие этих тэгов не является обязательным, поскольку
браузеры могут определить начало содержательной части документа по кон-
тексту. Однако их употребление рекомендуется.
Тэг <BODY> имеет ряд параметров, ни один из которых не является обяза-
тельным. Перечень параметров приведен в табл. 1.3.
Таблица 1.3. Перечень параметров тэга <BODY>
Параметр Назначение
ALINK Определяет цвет активной ссылки
BACKGROUND Указывает на URL-адрес изображения, которое используется
в качестве фонового
BOTTOMMARGIN Устанавливает границу нижнего поля документа в пикселах
BGCOLOR Определяет цвет фона документа
BGPROPERTIES Если установлено значение FIXED, фоновое изображение не про-
кручивается
LEFT/MARGIN Устанавливает границу левого поля документа в пикселах
LINK Определяет цвет еще не просмотренной ссылки
RIGHTMARGIN Устанавливает границу правого поля документа в пикселах
Таблица 1.3 (окончание)
Параметр Назначение
SCROLL Устанавливает наличие или отсутствие полос прокрутки окна
браузера
TEXT Определяет цвет текста
TOPMARGIN Устанавливает границу верхнего поля документа в пикселах
VLINK Определяет цвет уже просмотренной ссылки
Использование параметров BACKGROUND и BGCOLOR, определяющих фон доку-
мента, подробно рассмотрено в главе 3.
Параметр BGPROPERTIES, принимающий единственное значение FIXED, под-
держивается только браузером Microsoft Internet Explorer.
Параметры BOTTOMMARGIN, LEFTMARGIN, RIGHTMARGIN и TOPMARGIN, задающие
расстояния в пикселах между краями текста и соответствующими краями
окна, а также параметр SCROLL, распознаются только браузером Microsoft
Internet Explorer, начиная с версии 4.0.
Параметры ALINK, LINK, TEXT и VLINK определяют цвета ссылок и текста до-
кумента.
В языке HTML цвета определяются цифрами в шестнадцатеричном коде.
Цветовая система базируется на трех основных цветах — красном, зеленом и
синем — и обозначается RGB. Для каждого цвета задается шестнадцатерич-
ное значение в пределах от 00 до FF, что соответствует диапазону 0—255 в
десятичном исчислении. Затем эти значения объединяются в одно число,
перед которым ставится символ #. Например, число #800080 обозначает
фиолетовый цвет. Чтобы не запоминать совокупности цифр, вместо них
можно пользоваться названиями цветов, которые приводятся в приложении
П2. Ранние версии браузеров распознавали только названия 16 стандартных
цветов, отмеченных в приложении звездочками. Современные версии брау-
зеров распознают все 140 названий цветов.
назад - далее