Pervyiurok.ru


Видеокурсы, видео уроки, аудио, книги...

К учебнику по HTML

"Все Технические Моменты Сайтостроения в Видеоформате". Коллекция видеокурсов, которая за 36 часов и 45 минут сделает из Вас профессионала во всех технических моментах создания сайта.



Реклама:


Глава 2

Списки

В языке HTML предусмотрен специальный набор тэгов для представления информации в виде списков. Списки являются одним из наиболее часто употребляемых форм представления данных как в электронных документах, так и в печатных. Со списками мы встречаемся практически ежедневно, — это может быть список необходимых покупок в магазине, учеников в классе или просто дел, которые необходимо выполнить. Возможность организации списковых структур имеется во многих текстовых редакторах, в частности, мощный текстовый процессор Microsoft Word обладает удобными средствами форматирования списков различного вида (возможности создания HTML-списков при помощи Microsoft Word обсуждаются в главе 8). Приведем ряд случаев, для которых использование списков довольно удобно:

Заметим, что приведенные выше пункты как раз и организованы в виде списковой структуры.

В языке HTML предусмотрены следующие основные типы списков: маркированный, нумерованный и список определений. Для реализации списков различных типов используются следующие тэги: <UL>, <OL>, <DL>, <DIR>, <MENU>. С помощью различных типов встроенных в документ списков могут быть реализованы самые разные возможности, описанию которых и посвящена данная глава. Рассматриваются особенности построения списков различных типов, а также применения вложенных друг в друга списков.

Маркированный список

Одним из типов списков, реализованных в языке HTML, является маркированный список. Иначе списки такого типа называют ненумерованными или

неупорядоченными. Последнее название часто используется как формальный перевод названия соответствующего тэга <UL>, с помощью которого и организуются списки такого типа в HTML-документах (UL — Unordered List, неупорядоченный список).

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

Тэги <UL> и <LI>

Для создания маркированного списка необходимо использовать тэг-контейнер <UL> </UL>, внутри которого располагаются все элементы списка. Открывающий и закрывающий тэги списка обеспечивают перевод строки до и после списка, отделяя, таким образом, список от основного содержимого документа, поэтому здесь нет необходимости использовать тэги абзаца <P> или принудительного перевода строки <BR>.

Каждый элемент списка должен начинаться тэгом <LI> (LI — List Item, элемент списка). Тэг <LI> не нуждается в соответствующем закрывающем тэге, хотя его наличие в принципе не возбраняется. Браузеры обычно при отображении документа начинают каждый новый элемент списка с новой строчки.

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

<HTML>

<HEAD>

<TITLE>Пример маркированного списка</TITLE>

</HEAD>

<BODY>

<UL>

<B>Знаки зодиака:</B>

</UL>

</BODY>

</HTML>

01.gif

Рис. 2.1. Отображение браузером маркированного списка

Заметим, что кроме элементов списка, отмечаемых тэгом <LI>, могут присутствовать и другие HTML-элементы. В приведенном выше примере одним из таких элементов является обычный текст, не являющийся пунктом списка, а играющий роль его заголовка.

Примечание

В некоторых учебниках по языку HTML встречается указание, что для задания заголовка списка следует применять тэг-контейнер <LH> (LH — List Header, заголовок списка). В настоящее время этот тэг не распознается ни одним из распространенных браузеров и не входит в спецификацию HTML. Таким образом, его применение становится бессмысленным, хотя и не приведет к каким-либо ошибкам.

В тэге <UL> могут быть указаны два параметра: COMPACT и TYPE.

Параметр COMPACT записывается без значений и применяется для указания браузеру, что данный список следует выводить в компактном виде. Например, может быть уменьшен шрифт или расстояние между строчками списка и т. д.

Примечание

В настоящее время наличие параметра COMPACT в тэге <UL> никак не влияет на отображение списков ведущими браузерами. Поэтому применение данного параметра бессмысленно, тем более что его употребление не рекомендуется спецификацией HTML 4.0.

Параметр TYPE может принимать следующие значения: disc, circle и square. Этот параметр используется для принудительного задания вида маркеров списка. Конкретный вид маркера будет зависеть от используемого браузера. Типичными вариантами отображения являются следующие:

TYPE = disc — маркеры отображаются закрашенными кружками; TYPE = circle — маркеры отображаются не закрашенными кружками; TYPE = square — маркеры отображаются закрашенными квадратиками. Пример записи: <UL TYPE = circle>.

Значением, используемым по умолчанию, является TYPE = disc. Для вложенных маркированных списков на первом уровне по умолчанию используется значение disc, на втором — circle, на третьем и далее — square. Именно так делается в последних версиях браузеров Netscape и Internet Explorer. Заметим, что иные браузеры могут иначе отображать маркеры. Например, в спецификации HTML 4.0 для вида маркера, отображаемого при значении TYPE = square, указывается незакрашенный квадратик (square outline).

Параметр TYPE с теми же значениями может употребляться для указания вида маркеров отдельных элементов списка. Для этого параметр TYPE с соответствующим значением разрешено указывать в тэге элемента списка <LI>.

Пример записи: <LI TYPE = circle>.

Примечание

Браузеры по-разному интерпретируют указание вида маркера для отдельного элемента списка. Браузер Netscape изменяет вид маркера для данного и всех последующих, пока не встретится очередное переопределение вида маркера. Браузер Internet Explorer изменяет вид маркера только для данного элемента.

Графические маркеры списка

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

Чтобы понять идею, необходимо разобраться в механизме реализации списков на HTML-страницах. Оказывается, что тэг списка <UL> (как, впрочем, и тэги списков других типов, рассматриваемых ниже) выполняет единственную задачу — указывает браузеру, что вся информация, располагаемая после данного тэга должна отображаться со сдвигом вправо (отступом) на некоторую величину. Тэги <LI>, указывающие на отдельные элементы списка, обеспечивают вывод стандартных маркеров элементов списка.

Если же нам требуется построить список с графическими маркерами, то можно вообще обойтись без тэгов <LI>. Достаточно будет перед каждым элементом списка вставить желаемое графическое изображение. Единственной задачей, которую нужно при этом решить, будет отделение элементов списка друг от друга. Для этого можно использовать тэги абзаца <P> или принудительного перевода строки <BR>. Пример реализации списка с графическими маркерами, отображение которого представлено на рис. 2.2, показан ниже:

<HTML>

<HEAD>

<TITLE>Маркированный список</TITLE>

</HEAD>

<BODY>

<UL>

<B>Знаки зодиака:</B><BR>

</UL>

</BODY>

</HTML>

02.gif

Рис. 2.2. Маркированный список с графическими маркерами

В приведенном примере в качестве маркера элементов списка используется графический файл Green_ball.gif. Заметим, что использование графики на HTML-страницах может значительно увеличить объем передаваемой информации. Однако в данном случае это увеличение крайне незначительно. Здесь для всех маркеров используется один и тот же файл,

который будет передан только один раз. Размеры файла, содержащего маленькое изображение, также крайне незначительны.

Примечание

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

Нумерованный список

Другим типом списков, реализованных в языке HTML, является нумерованный список. Иначе списки такого типа называют упорядоченными. Последнее название часто используется как формальный перевод названия соответствующего тэга <OL>, с помощью которого и организуются списки такого типа в HTML-документах (OL — Ordered List, упорядоченный список).

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

Тэги <OL> и <LI>

Для создания нумерованного списка следует использовать тэг-контейнер <OL> </OL>, внутри которого располагаются все элементы списка. Открывающий и закрывающий тэги списка обеспечивают перевод строки до и после списка, отделяя таким образом список от основного содержимого документа.

Как и для маркированного списка, каждый элемент нумерованного списка должен начинаться тэгом <LI>.

Приведем пример HTML-документа, использующего нумерованный список, отображение которого браузером показано на рис. 2.3.

<HTML>

<HEAD>

<TITLE>Пример нумерованного списка</TITLE>

</HEAD>

<BODY>

<OL>

<B>Наиболее яркие звезды, видимые с Земли:</B>

</OL>

</BODY>

</HTML>

03.gif

Рис. 2.З. Нумерованный список

В тэге <OL> могут быть указаны следующие параметры: COMPACT, TYPE и START.

Параметр COMPACT имеет тот же смысл, что и у маркированных списков. Параметр TYPE используется для задания вида нумерации списка. Может принимать следующие значения:

TYPE = А — задает маркеры в виде прописных латинских букв;

TYPE = а — задает маркеры в виде строчных латинских букв;

TYPE = I — задает маркеры в виде больших римских цифр;

TYPE = i — задает маркеры в виде маленьких римских цифр;

TYPE = 1 — задает маркеры в виде арабских цифр.

По умолчанию всегда используется значение TYPE = 1, т. е. нумерация при помощи арабских цифр. Это касается и вложенных нумерованных списков. Здесь, в отличие от маркированных списков, браузеры по умолчанию не делают различной нумерацию на различных уровнях вложенности списков. Заметим, что после номера элемента списка всегда дополнительно выводится знак "точка".

Параметр TYPE с теми же значениями может употребляться для указания вила нумерации отдельных элементов списка. Для этого параметр TYPE с соответствующим значением разрешено указывать в тэге элемента списка <LI>.

Пример записи: <LI TYPE = A>.

Параметр START тэга <OL> позволяет начать нумерацию списка не с единицы. В качестве значения параметра START всегда должно указываться натуральное число, вне зависимости от вида нумерации списка. Приведем пример:

<OL TYPE = A START=5>.

Такая запись определяет нумерацию списка с прописной латинской буквы "E". Для других видов нумерации запись START=5 задаст нумерацию, соответственно, с числа "5", римской цифры "V" и т. д.

Изменение вида нумерации списка и значений номеров допустимо производить и для любого элемента списка. Тэг <LI> для нумерованных списков разрешает использовать параметры TYPE и VALUE. Параметр TYPE может принимать такие же значения, как и для тэга <OL>.

Пример записи: <LI TYPE = A>.

Примечание

Браузеры по-разному интерпретируют указание вида нумерации для отдельного элемента списка. Браузер Netscape изменяет вид нумерации для данного элемента и всех последующих, пока не встретится очередное переопределение. Браузер Internet Explorer изменяет вид номера только для данного элемента.

Значение параметра VALUE тэга <LI>- позволяет изменить номер данного элемента списка. При этом изменяется нумерация и всех последующих элементов. Типичным применением являются списки с пропуском некоторых  элементов. Пример такого списка был приведен выше (рис. 2.3). В нем дается упорядоченный список наиболее ярких звезд, в котором на 58 и 75 местах расположены звезды, хорошо видимые в наших широтах (Мицар — наиболее яркая звезда созвездия Большая Медведица, а Полярная звезда — Малой Медведицы).

Приведем еще один оригинальный пример использования нумерации различных видов. В приводимом ниже HTML-коде заданы три списка с различной нумерацией. Для удобства просмотра каждый из списков помещен в отдельную ячейку таблицы. Все три списка идентичны и различаются только видом нумерации: в первом столбце таблицы — арабские цифры, во втором — римские, а в третьем нумерация ведется латинскими буквами. Обратим внимание, что элементы списка пусты, т. е. после любого тэга <LI> нет никаких данных. Пример такого рода можно использовать в качестве таблицы соответствия между записью чисел арабскими и римскими цифрами. Оказывается, что любой браузер, поддерживающий списки, можно использовать в качестве генератора такой таблицы (рис. 2.4), стоит лишь набрать приводимый HTML-код. Нумерация римскими цифрами правильно работает вплоть до значения 3999. Изучая правый столбец, можно понять, как выполняется нумерация латинскими буквами. По исчерпании однобуквенной нумерации (от А до Z) в качестве следующего номера берется первый двухбуквенный номер — АА и т. д.

<HTML>

<HEAD>

<TITLE>Использование различного типа нумерации в списках</TITLE>

</HEAD>

<BODY>

<TABLE BORDER=1 WIDTH=100% CELLPADDING=15>

<TR>

<TD>

</TR>

</TABLE>

</BODY>

</HTML>

04.gif

Рис. 2.4. Различные типы нумерации HTML-списков

Список определений

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

Списки определений задаются с помощью тэга-контейнера <DL> (Definition List). Внутри контейнера тэгом <DT> (Definition Term) помечается определяемый термин, а тэгом <DD> (Definition Description) — абзац с его определением. Для тэгов <DT> и <DD> можно не записывать соответствующие закрывающие тэги.

В общем, список определений записывается следующим образом:

<DL>

<DT>Термин

<DD>Определение термина

</DL>

В тексте после тэга <DT> не могут использоваться элементы уровня блока, такие как, например, тэги абзаца <P> или заголовков <H1>—<H6>. Как правило, текст определяемого термина должен располагаться в одной строке. Текст, содержащий определение термина, выводится, начиная со следующей строки (или через строку для некоторых браузеров) после определения термина с отступом вправо. В информации, помещенной после тэга <DD>, могут располагаться элементы уровня блока. Отсюда следует, в частности, что списки определений могут быть вложенными.

В тэге <DL> может быть указан параметр COMPACT, назначение которого аналогично другим спискам, описываемым выше.

Приведем пример HTML-документа, в котором использован список определений:

<HTML>

<HEAD>

<TITLE>Пример списка определений</TITLE>

</HEAD>

<BODY>

<DL>

<CENTER>

<H3>Классификация типичных темпераментов человека,<BR>основанная

на воззрениях Гиппократа</H3>

</CENTER>

</DL>

</BODY>

</HTML>

Отображение приведенного HTML-документа в браузере показано на рис. 2.5.

05.gif

Рис. 2.5. Список определений (напоминает группу статей в словаре)

Списки типа <DIR> и <MENU>

Списки типа <DIR> и <MENU> в настоящее время практически не используются, хотя их поддержка ведущими браузерами до сих пор обеспечивается. В спецификации HTML 4.0 оба этих типа списка отмечены как отмененные. Вместо них предлагается использовать маркированные списки, задаваемые тэгом <UL>.

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

Для списков типа <DIR> планировалось ввести ограничение на«длину текста элемента списка (24 символа). Такое ограничение позволило бы выводить

списки типа <DIR> в виде, подобном выводу списка каталогов в операционных системах UNIX и MS-DOS при использовании ключа /W (в несколько колонок). Кроме этого, для элементов списков такого типа не отображались маркеры.

В настоящее время все эти замыслы не реализованы, поскольку дальнейшее употребление списков данных типов не рекомендуется. Современные версии браузеров отображают списки этих типов полностью аналогично спискам типа <UL>.

Вложенные списки

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

Ниже приводится HTML-код документа с вложенными списками, отображение которого показано на рис. 2.6. В этом примере в каждый элемент маркированного списка вложен свой нумерованный список.

<HTML>

<HEAD>

<TITLE>Пример вложенного списка</TITLE>

</HEAD>

<BODY>

<UL>

<B>Спутники некоторых планет</B>

<LI>Земпя

<LI>Mapc

<LI>Уран

<LI>Нептун

</UL>

</BODY>

</HTML>

Примечание

Язык HTML не допускает автоматическую многоуровневую нумерацию списков, как это делают мощные текстовые редакторы.

06.gif

Рис. 2.6. Простейший пример вложенного списка

07.gif

Рис. 2.7. Пример многоуровневого списка в HTML-документе

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


Реклама: