Раздел: Учебники / Учебник по HTML СпискиВ языке HTML предусмотрен специальный набор тегов для представления информации в виде списков. Списки являются одним из наиболее часто употребляемых форм представления данных как в электронных документах, так и в печатных. Со списками мы встречаемся практически ежедневно, — это может быть список необходимых покупок в магазине, учеников в классе или просто дел, которые необходимо выполнить. Возможность организации списковых структур имеется во многих текстовых редакторах, в частности, мощный текстовый процессор Microsoft Word обладает удобными средствами форматирования списков различного вида (возможности создания HTML-списков при помощи Microsoft Word обсуждаются в главе 8). Приведем ряд случаев, для которых использование списков довольно удобно:
Заметим, что приведенные выше пункты как раз и организованы в виде списковой структуры. В языке HTML предусмотрены следующие основные типы списков: маркированный, нумерованный и список определений. Для реализации списков различных типов используются следующие тэги: <UL>, <OL>, <DL>, <DIR>, <MENU>. С помощью различных типов встроенных в документ списков могут быть реализованы самые разные возможности, описанию которых и посвящена данная глава. Рассматриваются особенности построения списков различных типов, а также применения вложенных друг в друга списков. Одним из типов списков, реализованных в языке HTML, является маркированный список. Иначе списки такого типа называют ненумерованными или неупорядоченными. Последнее название часто используется как формальный перевод названия соответствующего тега <UL>, с помощью которого и организуются списки такого типа в HTML-документах (UL — Unordered List, неупорядоченный список). В маркированном списке для выделения его элементов используются специальные символы, называемые маркерами списка (часто их называют буллетами, что является формальным озвучением английского термина bullet — пуля). Вид маркеров списка определяется браузером, причем при создании вложенных списков браузеры автоматически разнообразят вид маркеров различного уровня вложенности. Для создания маркированного списка необходимо использовать тэг-контейнер <UL> </UL>, внутри которого располагаются все элементы списка. Открывающий и закрывающий тэги списка обеспечивают перевод строки до и после списка, отделяя, таким образом, список от основного содержимого документа, поэтому здесь нет необходимости использовать теги абзаца <P> или принудительного перевода строки <BR>. Каждый элемент списка должен начинаться тэгом <LI> (LI — List Item, элемент списка). Тег <LI> не нуждается в соответствующем закрывающем тэге, хотя его наличие в принципе не возбраняется. Браузеры обычно при отображении документа начинают каждый новый элемент списка с новой строчки. Приведенных сведений достаточно для построения элементарного маркированного списка. Приведем пример HTML-документа, использующего маркированный список, отображение которого браузером показано на рис. 2.1. <HTML> <HEAD> <TITLE>Пример маркированного списка</TITLE> </HEAD> <BODY> <UL> <B>Знаки зодиака:</B> <LI>Овен <LI>Телец <LI>Близнецы <LI>Рак <LI>Лев <LI>Дева <LI>Весы <LI>Скорпион <LI>Стрелец <LI>Козерог <LI>Водолей <LI>Рыбы </UL> </BODY> </HTML> Рис. 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> <IMG SRC="Green_ball.gif"> Овен<BR> <IMG SRC="Green_ball.gif"> Телец<BR> <IMG SRC="Green_ball.gif"> Близнeцы<BR> <IMG SRC="Green_ball.gif"> Paк<BR> <IMG SRC="Green_ball.gif"> Лeв<BR> <IMG SRC="Green_ball.gif"> Дева<BR> <IMG SRC="Green_ball.gif"> Весы<BR> <IMG SRC="Green_ball.gif"> Скорпион<BR> <IMG SRC="Green_ball.gif"> Cтpeлeц<BR> <IMG SRC="Green_ball.gif"> Козерог<BR> <IMG SRC="Green_ball.gif"> Водолей<BR> <IMG SRC="Green_ball.gif"> Рыбы </UL> </BODY> </HTML> Рис. 2.2. Маркированный список с графическими маркерами В приведенном примере в качестве маркера элементов списка используется графический файл Green_ball.gif. Заметим, что использование графики на HTML-страницах может значительно увеличить объем передаваемой информации. Однако в данном случае это увеличение крайне незначительно. Здесь для всех маркеров используется один и тот же файл, который будет передан только один раз. Размеры файла, содержащего маленькое изображение, также крайне незначительны. Примечание Методы создания списков с графическими маркерами обсуждаются в свою очередь в главе 8. Другим типом списков, реализованных в языке HTML, является нумерованный список. Иначе списки такого типа называют упорядоченными. Последнее название часто используется как формальный перевод названия соответствующего тега <OL>, с помощью которого и организуются списки такого типа в HTML-документах (OL — Ordered List, упорядоченный список). Списки данного типа обычно представляют собой упорядоченную последовательность отдельных элементов. Отличием от маркированных списков является то, что в нумерованном списке перед каждым его элементом автоматически проставляется порядковый номер. Вид нумерации зависит от браузера и может задаваться параметрами тегов списка. В остальном реализация нумерованных списков во многом похожа на реализацию маркированных списков. Для создания нумерованного списка следует использовать тэг-контейнер <OL> </OL>, внутри которого располагаются все элементы списка. Открывающий и закрывающий теги списка обеспечивают перевод строки до и после списка, отделяя таким образом список от основного содержимого документа. Как и для маркированного списка, каждый элемент нумерованного списка должен начинаться тэгом <LI>. Приведем пример HTML-документа, использующего нумерованный список, отображение которого браузером показано на рис. 2.3. <HTML> <HEAD> <TITLE>Пример нумерованного списка</TITLE> </HEAD> <BODY> <OL> <B>Наиболее яркие звезды, видимые с Земли:</B> <LI>Сириус <LI>Канопус <LI>Арктур <LI>Альфа Центавра <LI>Вега <LI>Капелла <LI>Ригель <LI>Процион <LI>Ахернар <LI>Бета Центавра <LI>Ветельгейзе <LI>Альдебаран <BR>. . . <LI value=58>Мицар <BR>. . . <LI value=75>Пoляpнaя </OL> </BODY> </HTML> Рис. 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> <OL> <LI><LI> <BR>. . . <LI VALUE=1991><LI><LI><LI><LI><LI><LI><LI><LI><LI><LI><LI><LI><LI> </OL> </TD> <TD> <OL TYPE=I> <LI><LI> <BR>. . . <LI VALUE=1991><LI><LI><LI><LI><LI><LI><LI><LI><LI><LI><LI><LI><LI> </OL> </TD> <TD> <OL TYPE=A> <LI><LI> <BR>. . . <LI VALUE=1991><LI><LI><LI><LI><LI><LI><LI><LI><LI><LI><LI><LI><LI> </OL> </TD> </TR> </TABLE> </BODY> </HTML> Рис. 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> <DT>Флегматик <DD>Пассивный, очень трудоспособный, медленно приспосабливающийся;<BR>настроение устойчивое, мало поддается внешнему влиянию;<BR>вялость эмоциональных реакций и медлительность в волевой деятельности<BR><BR> <DT>Сангвиник <DD>Активный, энергичный, легко приспосабливающийся,-<BR>живость и подвижность эмоциональных реакций, быстрота и сила волевых проявлений<BR><BR> <DT>Холерик <DD>Активный, очень энергичный, настойчивый;<BR>порывистость и сила эмоциональных реакций, бурные волевые проявления<BR><BR> <DT>Меланхолик <DD>Пассивный, легко утомляющийся, тяжело приспосабливающийся,-<BR>слабость волевых проявлений и преобладание подавленного настроения, неуверенность в себе </DL> </BODY> </HTML> Отображение приведенного HTML-документа в браузере показано на рис. 2.5. Рис. 2.5. Список определений (напоминает группу статей в словаре) Списки типа <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>Земпя <OL> <LI>Луна </OL> <LI>Mapc <OL> <LI>Фобос <LI>Деймос </OL> <LI>Уран <OL> <LI>Ариэль <LI>Умбриэль <LI>Титания <LI>Оберон <LI>Миранда </OL> <LI>Нептун <OL> <LI>Тритон <LI>Нереида </OL> </UL> </BODY> </HTML> Примечание Язык HTML не допускает автоматическую многоуровневую нумерацию списков, как это делают мощные текстовые редакторы. Рис. 2.6. Простейший пример вложенного списка Рис. 2.7. Пример многоуровневого списка в HTML-документе В заключение приведем пример реально существующей HTML-страницы, на которой имеется маркированный список с тремя уровнями (рис. 2.7). На рисунке видно типовое применение многоуровневого списка для создания структуры типа оглавления разделов документа. Каждый элемент списка всех уровней представляет собой ссылку на соответствующий подраздел. ← к предыдущей главе к следующей главе → Раздел: Учебники / Учебник по HTML |
|
|||||
Copyright © WebNav.ru Обратная@связь |