Теги UL, OL, LI, DL — Html списки
Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Сегодня в рамках рубрики «Html для чайников» я хочу поговорить о разнообразных Html списках, которые можно создать на основе специально предназначенных для этого тегов UL, OL, LI, DL. С помощью пары тегов UL и LI создаются маркированные списки в Html, с помощью тегов OL и LI — нумерованные, а с помощью элементов DL, DT и DD создаются так называемые списки определений. Так же мы рассмотрим вкратце принципы создания вложенных списков в Html.

Хочу напомнить вам, что мы уже успели рассмотреть в рамках раздела «Уроки Html и CSS», успели рассмотреть что такое язык Html и валидатор W3C, как задаются цвета в Html, а так же успели поговорить про основы Div верстки, а так же верстки табличной (Html теги таблицы Tr, Th, Td, Table). Кроме этого мы затронули основы формирования тега Doctype и Html комментариев, ну и узнали как вставить в Html картинку через тег Img. Да, еще успели поговорить про Html формы (form).
Теги UL и LI — маркированные Html списки
Для создания маркированных списков используется HTML тег UL, а для создания нумерованных – OL. Эти HTML теги OL и UL являются парными и блочными, точно так же, как и элемент LI (читайте об этом подробнее в конце статьи Doctype, Html комментарии).
Между открывающим и закрывающим тегом (OL или UL ) располагаются отдельные пункты списка, которые в свою очередь заключаются в открывающий и закрывающий тег LI. Сверху и снизу Html списков (OL, UL или DL) создаются отступы в одну строку, подобные отступам, создаваемым тегом абзаца.
Давайте посмотрим, например, маркированный список (UL), который может выглядеть так:

- Первая пара тэгов LI в маркированном Html списке (UL)
- Вторая пара открывающего и закрывающего элемента LI внутри списка UL
- Последний элемент LI внутри списка UL
Внутри открывающего и закрывающего тегов маркированного списка UL могут стоять только элементы LI, а уже внутри самих элементов LI (пунктов маркированного списка) можно вставлять любой контент (текст, картинки, заголовки, абзацы, ссылки и другие Html списки). Т.е. элемент UL служит только для организации маркированного (не упорядоченного) списка, а все, что вы будете видеть на web странице внутри списка реализуется с помощью содержимого элементов LI.
Для ненумерованного списка UL можно менять вид маркера, прописывая в теге UL разные значения для атрибута «Type». Если атрибут «Type» (управление внешним видом маркеров Html списка) для элемента UL не указан, то будет отображаться вид маркера, принятого по умолчанию (disc — закрашенный в цвет текста кружок):
- <ul type="disc"> — закрашенный кружок (по умолчанию);
- <ul type="circle"> — не закрашенный кружок;
- <ul type="square"> – квадрат
В приведенных примерах атрибут «Type» мы прописывали в элементе UL, применяя данный тип маркеров для всех пунктов Html списка. Но атрибут «Type» можно прописать и для каждого отдельного тега LI, задав для этого пункта списка свой собственный тип маркера. Пример маркированного Html списка (UL) с различными типами маркера для каждого пункта (LI):

- Маркер для элемента LI в виде закрашенного диска
- Маркер для элемента списка UL в виде не закрашенного диска
- Третий вид маркера для Html списка UL
Теги OL и LI — нумерованные Html списки
Для создания нумерованного Html списка используются теги OL, внутри которых опять же будут расположены элементы LI. Элементы OL и LI, как я уже упоминал, являются блочными (т.е. стремятся занять все доступное им место по ширине) и, по аналогии с тегом UL, внутри OL нельзя будет размещать ничего кроме элементов LI.
OL и UL — это служебные теги, которые нужны только для того, чтобы указать браузеру, какой именно вид Html списка мы формируем (маркированный или же нумерованный). В случае нумерованного Html списка (OL) слева от каждого пункта мы будем видеть не маркер, а цифру и стоящую за ней точку:

- Первая пара тегов LI нумерованного Html списка OL
- Второй пункт списка OL<
- Третья пара LI в нумерованном списке
Как я уже упоминал чуть выше, у HTML тегов UL, OL и LI имеется возможность использовать атрибут TYPE. Он позволяет настроить тип маркера для ненумерованного списка UL, а для нумерованного (OL) — задать, какими цифрами или буквами будут нумероваться пункты Html списка. Для нумерованного Html списка OL параметры этого атрибута могут принимать следующие значения:
- <ol type="1"> — нумерация будет выполняться обычными арабскими цифрами (этот же вариант будет использоваться по умолчанию, при отсутствии атрибута «Type» в тегах OL или LI);
- <ol type="A"> — заглавные буквы в качестве нумерации списка OL;
- <ol type="a"> — строчные буквы;
- <ol type="I"> — заглавные римские цифры;
- <ol type="i"> — строчные римские цифры;
Пример нумерованного списка (OL) с различными типами нумерации для каждого пункта (LI):

- Пункт (LI) Html списка OL с нумерацией большими римскими цифрами
- Нумерация данного пункта (LI) списка OL маленькими латинскими буквами
- Нумерация малыми римскими цифрами
При создании нумерованных списков имеется так же возможность начать нумерацию не с единицы, а с заданного в атрибуте START тега OL числа. Например:

- Первый элемент LI, номер которого задан в теге OL
- Следующий элемент LI, с номером на единицу большим, чем задано в OL
- Очередной элемент LI Html списка OL
Для нумерованного списка (OL) так же можно начать новую нумерацию с любого значения, начиная с любого пункта, прописав в открывающем HTML теге LI этого пункта атрибут VALUE с требуемым числом. Например:

- Первый элемент LI Html списка OL с номером один
- Этот элемент LI получит номер, указанный в атрибуте VALUE
- Элемент LI Html списка OL с номером на 1 большим предыдущего номера
Оформление Html списков UL и OL в CSS
Но, как правило, сейчас внешний вид маркеров задается не через атрибут TYPE, а при помощи классов. В HTML теге UL или OL прописывается атрибут CLASS. В качестве параметра этого атрибута используется название класса. В правилах CSS, прописанных для этого класса, указывается, какая картинка будет использоваться в качестве маркера, на каком расстоянии маркер будет отстоять от текста и еще многое.
Но о тонкостях работы с CSS мы поговорим в последующих статьях. А здесь я просто приведу пример различных маркеров для ненумерованных списков, внешний вид которых задается через правила CSS в отдельном файле с таблицами каскадных стилей.
<ul classs="vash_class"> <li>Первый элемент LI маркированного списка UL, оформленного через CSS</li> <li>Второй элемент LI</li> <li>Последняя пара тегов LI Html списка UL</li> </ul>
Но о тонкостях работы с CSS мы поговорим в последующих статьях. Именно таким способом задается внешний вид маркеров ненумерованного списка на этом блоге. В качестве маркеров используются картинки: для обычных пунктов не нумерованного списка —
, для вложенных пунктов ненумерованного списка —
.
DL, DT и DD — Html списки определений
Третий вид Html списков называется «списки определений» и задаются они с помощью трех тегов — DL, DT и DD. Тег DL сообщает браузеру, что далее последует список определений. Обычно такой вид Html списков используется (ну, или предполагалось, что он будет использоваться) для написания словарных статей, состоящих из терминов (заключенных в теги DT) и их описаний (заключенных в теги DD).
<dl>
<dt>Html список определений</dt>
<dd>Теги DL, DT и DD</dd>
<dt>В элементе DT прописывается термин</dt>
<dd>В элементе DD прописывается его описание</dd>
</dl>

Если вы посмотрите на приведенный выше пример, то заметите, что в Html списке определений элемент DD (описание термина) сдвигается (на 40 пикселей) относительно элемента DT (самого термина). Вообще, DL, DT и DD являются блочными тегами, причем, внутри элемента DT можно вставлять только контент со строчными тегами (получается, что внутри DT нельзя будет использовать блочные теги заголовков и абзацев). А внутри тегов DD можно вставлять любые элементы и строчные и блочные.
UL, OL и DL — вложенные Html списки
Вложенный Html список (UL, OL и DL) создается по аналогии с простым, но внутри основного списка часть пунктов заключается еще раз в открывающий и закрывающий HTML тег UL (OL или DL).
Обратите внимание, что закрывающий HTML тег LI того пункта Html списка, в котором будет создан вложенный пункт, ставится лишь после кода вложенного списка (это очень важно для правильного отображения списка на web странице). Вложенный Html список (UL, OL) может выглядеть примерно, так:

- Первый элемент LI нумерованного Html списка OL
- Вторая пара тегов LI Html списка OL
- Первый элемент LI маркированного Html списка UL
- Вторая пара тегов LI Html списка UL
- Третий элемент LI списка маркированного UL
- Третий элемент LI списка нумерованного OL
Можете также посмотреть видео «Списки в HTML — теги UL, OL, LI, DL»:
У Евгения Попова имеется видекурс по PHP+MySQL, который стоит того, чтобы с ним ознакомиться.
Можете посмотреть бесплатные видеоуроки по Html и CSS, а так же можете ознакомиться с другими статьями:
- Верстка сайта
- Html для чайников
- Что такое язык Html, валидатор W3C и Html тэги
- Зачем нужен Doctype и комментарии в html
- Спецсимволы (мнемоники) в Html, символ неразрывного пробела
- Как использовать цвета в Html коде
- Как в Html код вставить картинку и html ссылку
- Как сделать в Html список с помощью тегов UL, OL, DL и LI
- Html таблица и теги Tr, Th, Td, Table
- Html формы - теги Form и Input
- Div верстка сайта в Html и CSS ч.1
- Html и CSS верстка сайта на DIV ч.2
- Блочная верстка
Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru
- Как вставить в HTML ссылку и картинку — теги IMG для вставки изображения и html теги гиперссылки A
- Html формы для сайта, теги Form и Input (Button, Checked, Value, Checkbox, Radio, Checkbox, Submit) — чекбоксы, Html кнопки и радиокнопки
- Html теги H1-H6 (заголовки), Hr (линия), P (абзац), Br (перенос строки) и атрибуты Html тегов (align, width)
- Select, Option, Textarea, Label, Fieldset, Legend — теги Html формы выпадающих списков и текстового поля
- Теги Html таблицы и дополнительные тэги Colspan, Cellpadding, Cellspacing, Rowspan
- Таблицы в Html (Table, Tr, Th, Td ), табличная верстка и теги Col, Tbody, Caption
- Font, Html color, Blockquote, Pre — форматирование текста в HTML, Html шрифты, Strong, Em, B, I


А в чем соль статьи?
1. Все что нужно есть на htmlbooks и более полно.
2. В статье явно не учитывается DOCTYPE спецификации.
3. Большая часть информация просто устарела, почитайте спецификацию xHTML 1.1 и HTML 5? просто многих тэгов уже не будет. То что сейчас они работаю не означает, что этого нужно придерживаться, поэтому не вижу смысла в статье, которая дает старую информацию.
Дмитрий: в одной из предыдущих статей этой серии я писал, что многие атрибуты многих тегов уже устарели и они заменяются при современной верстке правилами CSS. Да и в этой статье я говорил, что есть такой атрибут, допустим, для изменения маркера ненумерованного списка, но сейчас обычно используют задание вида маркера через CSS.
Ничего страшного, думаю не будет, если пользователи узнают как это было реализовано средствами только HTML, и в принципе, можете работать и сейчас. Я вовсе не профи в верстке, да и материал я даю в расчете на начинающего вебмастера. Но все равно спасибо за ваше замечание, хотя я и остаюсь при своем мнении.
Я вовсе не претендую на пальму первенства в преподавании HTML. Просто хочу рассказать здесь о том, на что потом буду ссылаться при написании статей про работу с шаблонами, кодом и прочими вещами, в которых требуется базовое знание HTML, CSS, PHP. И показать это под тем углом, под которым мне это видится самому.
Понимаю, что на взгляд профессионала это выглядит неуклюже и ненужно, если есть достаточно авторитетные и безусловно правильные материалы по этому вопросу. Но вот будут ли они понятны новичку? Это вопрос. И если кому-то мой вариант изложения непреложных истин покажется более понятным и доступным, то я, как говорится, не зря переводил чернила.
Уважаемые читатели, может кто-то выскажется в защиту автора данного текста или оно действительно все так плохо и неуместно?
CSS это все очень хорошо, но бывают ситуации когда необходима ручная правка кода, и тут пригождается знание основ html.
htmlbooks хороший ресурс, содержит много информации, но его наличие не исключает написание подобных статей. Мое мнение статья на уровне блога (зачетная!), сам я мало нового подчерпнул, но для новичков в самый раз!
а по поводу DOCTYPE, xHTML 1.1 и HTML 5 я думаю Дмитрий напишет нам еще много статей на эту тему
Макс: спасибо. Действительно, статья написана именно в рамках тематики блога. Правда, думаю, что критики будет еще больше, когда перейду к описанию CSS для начинающих, а особенно PHP. Но тем не менее, планирую развивать эту тему и довести ее до приемлемого состояния. Критику я воспринимаю, надеюсь, адекватно и всегда готов признать ошибку и внести исправления в текст. Буду очень рад критическим замечаниям, я ведь тоже только учусь верстке. =)
Лично мне нравится Ваша манера написания — очень просто, доступно, но при этом очень информативно. И мне бы не хотелось, что бы под «гнетом» критики эта манера изменилась, я думаю со мной согласятся многие читатели блога. Лично я в CSS и PHP не силен, поэтому будет очень здорово, если вы будете описывать их таким же доступным и содержательным языком. =)
Дмитрий узнал из вашей статьи о различии HTML тегов b и strong, i и em для восприятия поисковиками, и у меня возник вопрос: в joomla, редакторы Editor — JCE 1.5.5 и стандартный TinyMCE используют только теги strong и em, то есть даже при прописывании тегов b и i вручную в html код при выключенном редакторе, они заменяются на strong и em при его включении.
Как быть?
Я имел в виду теги b и i заменяются на strong и em
Анкор в постовом на «продвижение блога» плиз...
Павел: сделал.
Макс: ну, может редактор отключить, как при вставке кода, например, счетчика. Но это не удобно.
а я не использую закрывающий тег li в обычных, не вложенных списках. Я сильно не прав?
Плюс, думаю, стоило отметить, что раз тег br не парный, то по правилам xhtml он пишется как
, хотя в обычном html это не имеет разницыа у меня в шаблоне джумла вообще нет ни одного тега h1 ,h2
максимум есть h3
мне вручную прописывать эти теги? или не заморачиваться?
спасибо
Читаю с пользой статьи Вашего сайта - благодарю за труд!
Ваш подход и сайт запомнился (в частности стал писать большие статьи с якорями).
Цитата: ссылки с картинки ценятся поисковиками немного выше ссылок текстовых, а ключевые слова для ссылки с картинки можно загнать в атрибут HTML тега A под названием TITLE ( Используем изображение в качестве анкора для ссылки)
Вообще-то сначала прочитал Вашу статью «Используем изображение в качестве анкора для ссылки»: ktonanovenkogo.ru/html/ht...niya-ssylok.html
— но не смог там оставить коммент (ошибка капчи, а ее нет!)
Итак, с той статьи:
Цитата: «поисковики выше ценят ссылки с изображения, а по некоторым данным выходит обратное. Но при использовании такого типа ссылки нет текста ссылки (анкора), в который можно было бы вставить нужные ключевые слова»
Кстати, исправьте пропуск (см.цитату): «изображениями», а не «изображения»
Но! Можно иметь картинку и анкор!
Вот пример: af0n.ru/Afon-palomnichest...h-image-and-text
В этой же моей статье — о якорях, содержащих и анкор (видимый текст)
С уважением, Александр