Html ul li


Всем привет!

Сегодня будет первая статья из рубрики «Дизайн», в которой покажу, как красиво оформить списки в тегах ul ol li.

Это логично было сделать после статьи про оформление контента, ведь у многих будут проблемы в данном вопросе, так как необходимы навыки в CSS. Я же постараюсь ограничиться лишь необходимым набором действий для уникализации списков.

Предисловие

По умолчанию, в большинстве шаблонов данные списки имеют оформление простых цифр (нумерованный список ol li) и обыкновенных квадратиков и кружков черного цвета (ненумерованный, маркерованный список ul li).

«>

«>

Такие списки хорошо воспринимаются посетителями, ведь они структурируют контент на сайте. Но было бы гораздо лучшее, если вместо простых точек и квадратиков были полноценные иконки, которые в последнее время используются на продающих сайтах для повышение конверсии посетителя в покупателя.


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

На моем блоге также списки оформлены. Ненумерованные имеют вид чек-боксов в рамке с чередованием цветов через один пункт.

«>

И сегодня я еще оформил нумерованный список, который имеет теперь не просто вид цифр, а они оформленные фоном, что значительно проще воспринимается и сразу замечается посетителем.

«>

Конечно, можно сделать нумерацию более привлекательной, но я остановился на таком варианте. Также можно делать не просто цифры на фоне, а для каждого номера списка назначит свою индивидуальную иконку. Это мы также рассмотрим. Теперь перейдем к практике.

Оформление нумерованного списка ol li

Прежде всего вы должны понимать, что каждый пункт списка заключается в тег li. Все пункты списка заключаются в один общий тег ul или ol, который является общим для таблицы стилей (списка).

Например, если мы берем нумерованный список, то он будет иметь такую структуру с использованием тега ol.


Ненумерованный же список заключается в общий тег ul.

Каждому тегу присваиваются свои стили оформления, в которых обязательно прописаны отступы от обычного текста, ведь списки всегда имеют свои отступы слева, в отличии от обычного текста. Это общие правила оформления списков.

Также прописаны стили нумерации для каждого пункта списка.

Для маркерованного списка прописывают стиль в виде квадратиков или кружочков.


Для нумерованного списка применяется значение decimal для вывода стандартных арабских цифр (1, 2, 3…)

Все значения данного тега вы можете найти на сайте-учебнике по HTML.

Также имеется и свойство для назначения изображения к каждому пункту списка, а именно:

Именно его мы и будем использовать в первом варианте (их будет 2) для оформления ненумерованного списка, а сейчас перейдем к оформлению нумерованного.

Способ 1

Как мы уже выяснили, то нумерованный список создается с помощью тегом ol li. К тегу ol могут быть прописаны любые стили (выравнивание, фон, отступы), а вот с тегом li имеются некоторые сложности, так как при стандартной верстке шаблона, в большинстве случаев не получится просто так сделать фон для цифр или наложить на них иконки. Практически во всех шаблонах со стандартной версткой, номера пунктов никак не выводятся в исходном коде и выводятся с помощью стилей. Это затрудняет задачу, так приходится идти сложным путем.


Если бы каждый номер пункта выводился в исходном коде и был заключен в тег span (например), то можно было бы просто к тегу span в списке пунктов добавить с помощью стилей какое-то изображение или фон.

«>

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

«>

На изображении моей верстки для списка вы видите, что номер не выводится. Цифры отображаются в стилях с помощью свойства list-style-type: decimal.

Придется заменить данное свойство на list-style-image. Тогда вместо цифр будут иконки, но вся загвоздка в том, что если мы пропишем данное свойство к общему тегу li, то будет отображаться одна и та же иконка для всех пунктов, а нам же необходимо своя иконка с цифрой на каждый пункт?

Для этого стоит в файл стилей добавить еще некоторые свойства для тега li, чтобы назначить на каждый пункт свою картинку с цифрой. Ниже можете видеть примера такого кода (под ним объясню его концепцию).


В первой строке кода к тегу li добавлен псевдокласс first-child, который обозначает первый номер. Далее к каждому следующему тегу добавлено свойство nth-child(An), где A — номер пункта в списке.

Таким образом нужно добавить в данный код все остальные номера пунктов и к каждому назначить свою уникальную иконку. Если в своих материалах вы иногда использовали 20 нумерованных пунктов в списках, то придется добавить минимум 20 раз псевдокласс nth-child(An). То есть последним псевдоклассом в стилях у вас будет nth-child(20n).

Данный способ действительно мудреный, так как придется много стилей добавить и найти очень много иконок с цифрами для каждого номера в списке. Но метод рабочий. Иконки можно найти в интернете или же самому создать.

Итак, плагин действий для реализации такого способа следующий:

  1. Находите в файле стилей строки, отвечающие за оформление нумерованного списка. Необходимо найти теги ol li;
  2. Дописываете в него псевдокласс first-child, как показано в коде выше. Копируете один раз, изменяете данное свойство на nth-child(An) и копируете то количество раз, скольким номерам необходимо назначить свою иконку. Затем проставляете номера для пунктов;
  3. К каждому номеру прописываете свойство list-style-image (см. выше) со своей уникальной иконкой.

После этого все должно работать, но имеется один момент. Иконки могут располагаться сильно далеко от пунктов или же накладываться. Тогда придется вам поработать с выравниванием и отступами иконок цифр или самого текста пунктов.

Теперь перейдем ко второму способу, который стоит у меня.

Способ 2

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

Будем использовать псевдоэлемент before, который выводит определенное содержимое перед элементом (в нашем случае пункт списка).

«>

Кстати, с помощью before у меня выводится слово «содержание» в оглавлении. Таким образом оно нигде не отображается в исходном коде и не повторяется в каждой статье.

Реализация похожа с предыдущей:

  1. Находим стили для общего тега таблицы стилей нумерованного списка (тег ol) и прописываем к нему свойства:

  2. Для тега каждого пункта внутри общей таблицы стилей (тег ol li) прописываем свойство для размещение нумерации возле самих пунктов — position: relative;
  3. Последним шагом дописываем псевдоэлемент before (смотрите пример ниже) для тега ol li и прописываем к нему следующие стили:

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

Также в пример вам дам еще и свою часть стилей, которая прописана у меня для нумерованного списка. Может пригодится вам в том случае, если захотите использовать, просто изменив свои отступы и другие данные.


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

Вот эти 2 способа я сам протестировал и все получилось. Если у вас возникнут вопросы, то обращайтесь в комментариях, а сейчас переходим к ненумерованному (маркерованному) списку.

Оформление ненумерованного списка ul li

Долго говорить здесь не буду, так как принцип абсолютно тот же. Ранее рассмотренные способы работают и тут, только стоит прописывать их к тегам ul li, а не ol li.

Вы можете просто назначит свойство list-style-image:url(путь к иконке) вместо стандартных стилей list-style-type. Но тогда проследите, чтобы были прописан внешний левый отступ от краев сайта, так как без него иконки попросту могут не отобразиться, а быть где-то вне зоны области контентной части. Можно для начала взять экспериментальные отступы, которые я даю в пример ниже.


Если хотите к каждой строке назначит чередование иконок, то смотрите в п.2 выше, как реализовать это с помощью свойства nth-child(An). Можно также назначит нижние подчеркивания для каждого пункта в маркерованном списке и так далее.

Например, у меня имеются такие подчеркивания пунктиром, а также реализовано чередование иконок. Но я это сделал вторым способом с помощью псевдоэлемента before. Вот мой пример.

В коде вы можете видеть, что имеется всего лишь один псевдокласс nth-child(2n) со значением 2. Это означает, что к каждому четному пункту у меня другая иконка. Если же изменить значение 2n на 2n+1, то другая иконка будет у нечетных пунктов. Более подробно узнайте о данном псевдоклассе здесь.

Можете и для каждого пункта назначить фон, рамки, иконки и т.д. Все на ваше усмотрение. Но не стоит сильно мудрить. Сделайте все просто. Задача в оформлении списков не выпендриться и убить глаза, а сделать все отлично от других сайтов, чтобы увеличивать качество восприятия контента вашими посетителями.

Переходим к последнему пункту сего материала.

Несколько разно-оформленных списков на одной странице


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

Если мы назначим общие стили, то одно оформление будет назначаться ко всем спискам. Ну, а допустим, что нам нужно разместить 2 списка, но, чтобы у одного были иконки чек-боксов, а у другого иконки в виде полноценных картинок. Как такое реализовать?

Все просто. Если вы посмотрите на мои материалы, то в начале каждого имеется содержание, оформленное с помощью фона и левой бордюры, но по сути, это тот же нумерованный список. Просто я ему назначил отдельный id, прописав его в html режиме.

«>

Затем в файл стилей прописал отличные стили от общих для всех списков.

Как видим, то просто необходимо скопировать стили для общего оформления списков, затем в скопированном варианте дописать название того ID, который добавили к тегу ul или ol, и изменить стили, чтобы оформление различалось.

Если посмотреть на мой вариант, то я применил изменения только для общего тега ol, а именно: изменил фон, стиль отображения, добавил линию слева для большего выделения. Также затронул и псевдоэлемент before, где в общих стилях к нему прописан жирный стиль текста, чтобы номера больше выделялись на фоне. В содержании они через чур насыщены, поэтому пришлось сделать текст не жирным.

Таким образом вы можете сделать материалы еще более интересней для чтения. Например, для пунктов, в которых идет перечисления каких-то предметов, сделать одни иконки. А для пунктов с перечислением действий, другие.

Итак, друзья! Данный материал можно заканчивать. Я не пытался вас научить премудростям CSS. Целью было лишь показать варианты индивидуального оформления списков, так как с этим имееются сложности и я сам когда-то помучился.

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

Напоследок хотел бы попросить вас оставить свой комментарий и оценить данный материал с помощью звездочек ниже. Если конечно вам данная статья помогла.

А на этом все. В следующей статье про дизайн мы поговорим об основных ошибках дизайна на сайте и о том, что вам сейчас пытаются «впарить» в мозг, некоторые блоггеры по поводу дизайна сайтов и блогов. Не пропустите.

Все. Пока.

С уважением, Константин Хмелев!

Html ul li

kostyakhmelev.ru

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

Такой список представляет собой перечень «пронумерованный» каким-либо образом. Это могут быть арабские цифры, цифры римского алфавита или буквы.

Чтобы указать браузеру, что список будет нумерованным, используются теги <ol></ol>. Весь список располагается между этими тегами и каждый его пункт задается тегами <li></li>.

Пример кода для нумерованного списка: Результат: Как видите, по умолчанию нумерация ведется арабскими цифрами. Это можно изменить с помощью параметра type:

type=»A» — нумерация заглавными латинскими буквами (A, B, C).

type=»a» — нумерация прописными латинскими буквами (a, b, c).

type=»I» — нумерация большими римскими цифрами (I, II, III) .

type=»i» — нумерация маленькими римскими цифрами (i, ii, iii).

Пример кода с римскими цифрами: Результат: Если нам нужно начать нумерацию не с единицы, то следует использовать параметр start, в качестве значения которого указывается число, с которого будет начинаться список (если нумерация задается с помощью букв, то это число будет указывать на позицию в алфавите).

Пример кода: Результат: У тега <li&gt можно задать параметр value, который позволяет изменить номер данного элемента списка. При этом изменяется нумерация и всех последующих элементов.

Пример кода: Результат:

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

В маркированном списке вместо букв и цифр используются маркеры. Чтобы указать браузеру, что список будет маркированным, используются теги <ul></ul>. Весь список располагается между этими тегами и каждый его пункт задается тегами <li></li>.

Пример кода для маркированного списка: Результат: По умолчанию маркер отображается в виде черного кружочка. Это можно изменить с помощью параметра type:

type=»disc» — закрашенный кружочек.

type=»circle» — пустой кружочек.

type=»square» — закрашенный квадратик.

Пример кода для маркированных списков: Результат:

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

Таки списки используются в словарях. Каждый пункт состоит из двух частей: термин и его определение. Чтобы указать браузеру, что будет список определений, используются теги <dl></dl>. Каждый термин заключается в теги <dt></dt>, а их определения — в теги <dd></dd>.

Пример кода списка определений: Результат:

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

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

Пример кода многоуровневого списка: Результат: Уровень вложенности может быть любым, главное не запутайтесь. На этом седьмой урок закончен. В следующем уроке мы рассмотрим работу с изображениями.

www.site-do.ru

Создание HTML-списков

  • Содержание:
  • 1. Маркированный список <ul>
  • 2. Нумерованный список <ol>
  • 3. Список определений <dl>
  • 4. Вложенный список
  • 5. Многоуровневый нумерованный список

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

Маркированный список представляет собой неупорядоченный список (от англ. Unordered List). Создаётся с помощью парного тега <ul></ul>. В качестве маркера элемента списка выступает метка, например, закрашенный кружок.

Браузеры по умолчанию добавляют следующее форматирование блоку списка:

ul {padding-left: 40px; margin-top: 1em; margin-bottom: 1em;}

Каждый элемент списка создаётся с помощью парного тега <li></li> (от англ. List Item).

Для тега <ul> доступны ‎глобальные атрибуты.

<ul>   <li>Microsoft</li>   <li>Google</li>   <li>Apple</li>   <li>IBM</li>  </ul>
unordered list
Рис. 1. Маркированный список

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

Нумерованный список создаётся с помощью парного тега <ol></ol>. Каждый пункт списка также создаётся с помощью элемента <li>. Браузер нумерует элементы по порядку автоматически и если удалить один или несколько элементов такого списка, то остальные номера будут автоматически пересчитаны.

Блок списка также имеет стили браузера по умолчанию:

ol {padding-left: 40px; margin-top: 1em; margin-bottom: 1em;}

Для тега <li> доступен атрибут value, который позволяет изменить номер по умолчанию для выбранного элемента списка. Например, если для первого пункта списка задать <li value="10">, то остальная нумерация будет пересчитана относительно нового значения.

Для тега <ol> доступны следующие атрибуты:

Таблица 1. Атрибуты тега <ol>
Атрибут Описание, принимаемое значение
reversed Атрибут reversed задает отображение списка в обратном порядке (например, 9, 8, 7…).
start Атрибут start задает начальное значение, от которого пойдет отсчет нумерации, например, конструкция <ol start="10"> первому пункту присвоит порядковый номер «10». Также можно одновременно задавать тип нумерации, например, <ol type="I" start="10">.
type Атрибут type задает вид маркера для использования в списке (в виде букв или цифр). Принимаемые значения:
1 — значение по умолчанию, десятичная нумерация.
A — нумерация списка в алфавитном порядке, заглавные буквы (A, B, C, D).
a — нумерация списка в алфавитном порядке, строчные буквы (a, b, c, d).
I — нумерация римскими заглавными цифрами (I, II, III, IV).
i — нумерация римскими строчными цифрами (i, ii, iii, iv).
<ol>   <li>Microsoft</li>   <li>Google</li>   <li>Apple</li>   <li>IBM</li>  </ol>
ordered list
Рис. 2. Нумерованный список

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

Списки определений создаются с помощью тега <dl></dl>. Для добавления термина применяется тег <dt></dt>, а для вставки определения — тег <dd></dd>.

Блок списка определений имеет следующие стили браузера по умолчанию:

dl {margin-top: 1em; margin-bottom: 1em;}

Для тегов <dl>, <dt> и <dd> доступны ‎глобальные атрибуты.

<dl>   <dt>Режиссер:</dt>   <dd>Петр Точилин</dd>   <dt>В ролях:</dt>   <dd>Андрей Гайдулян</dd>   <dd>Алексей Гаврилов</dd>   <dd>Виталий Гогунский</dd>   <dd>Мария Кожевникова</dd>  </dl>
dl
Рис. 3. Список определений

4. Вложенный список

Зачастую возможностей простых списков не хватает, например, при создании оглавления никак не обойтись без вложенных пунктов. Разметка для вложенного списка будет следующей:

<ul>   <li>Пункт 1.</li>   <li>Пункт 2.   <ul>   <li>Подпункт 2.1.</li>   <li>Подпункт 2.2.    <ul>   <li>Подпункт 2.2.1.</li>   <li>Подпункт 2.2.2.</li>   </ul>   </li>    <li>Подпункт 2.3.</li>   </ul>   </li>   <li>Пункт 3.</li>  </ul>
ul ul ul
Рис. 4. Вложенный список

5. Многоуровневый нумерованный список

Многоуровневый список используется для отображения элементов списка на разных уровнях с различными отступами. Разметка для многоуровневого нумерованного списка будет следующей:

<ol>   <li>пункт</li> <!-1.->   <li>пункт    <ol>   <li>пункт</li> <!-2.1.->   <li>пункт</li> <!-2.2.->   <li>пункт   <ol>   <li>пункт</li> <!-2.3.1.->   <li>пункт</li> <!-2.3.2.->   <li>пункт</li> <!-2.3.3.->    </ol>   </li> <!-2.3.->   <li>пункт</li> <!-2.4.->    </ol>   </li> <!-2.->   <li>пункт</li> <!-3.->    <li>пункт</li> <!-4.->   </ol>

Такая разметка по умолчанию создаст для каждого вложенного списка новую нумерацию, начинающуюся с единицы. Чтобы сделать вложенную нумерацию, нужно использовать следующие свойства:
counter-reset сбрасывает один или несколько счётчиков, задавая значение для сброса;
counter-increment задаёт значение приращения счётчика, т.е. с каким шагом будет нумероваться каждый последующий пункт;
content — генерируемое содержимое, в данном случае отвечает за вывод номера перед каждым пунктом списка.

ol {  /* убираем стандартную нумерацию */  list-style: none;   /* Идентифицируем счетчик и даем ему имя li. Значение счетчика не указано - по умолчанию оно равно 0 */   counter-reset: li;   }  li:before {  /* Определяем элемент, который будет нумероваться — li. Псевдоэлемент before указывает, что содержимое, вставляемое при помощи свойства content, будет располагаться перед пунктами списка. Здесь же устанавливается значение приращения счетчика (по умолчанию равно 1). */  counter-increment: li;   /* С помощью свойства content выводится номер пункта списка. counters() означает, что генерируемый текст представляет собой значения всех счетчиков с таким именем. Точка в кавычках добавляет разделяющую точку между цифрами, а точка с пробелом добавляется перед содержимым каждого пункта списка */  content: counters(li,".") ". ";   }
numeric list
Рис. 5. Многоуровневый нумерованный список

html5book.ru

Маркированные HTML списки — теги ul и li

Маркированный список определят тег ul. Между открывающим и закрывающим тегами ul располагаются элементы списка, содержание каждого из которых должно быть в свою очередь располагаться между открывающим и закрывающим тегами li. Сразу отмечу, что тег ul является парным (наличие открывающего и закрывающего тега), а также блочным, то есть образует контейнер, в который входят элементы (строки), образуемые каждый раз тегом li. Соответственно тег li является парным и строчным.

   &lt;ul&gt;   &lt;li&gt;1 элемент маркированного списка&lt;/li&gt;   &lt;li&gt;2 элемент маркированного списка&lt;/li&gt;   &lt;li&gt;3 элемент маркированного списка&lt;/li&gt;   &lt;/ul&gt;
  • 1 элемент маркированного списка
  • 2 элемент маркированного списка
  • 3 элемент маркированного списка

По умолчанию внешний вид маркера представляется закрашенным кружком. Однако, можно изменить его внешний вид, применив атрибут type, который имеет следующие значения: disc, circle, square. Значение disc (которое определяет внешний вид маркера в виде закрашенного кружка) применяется по умолчанию. То есть если атрибут type не прописан, то внешний вид маркера будет выглядеть как закрашенный кружок. Если дополнить данными атрибутами тег ul, то получим следующие варианты:

   &lt;ul&gt;   &lt;li type=&quot;disc&quot;&gt;1 элемент маркированного списка&lt;/li&gt;   &lt;li type=&quot;disc&quot;&gt;2 элемент маркированного списка&lt;/li&gt;   &lt;li type=&quot;disc&quot;&gt;3 элемент маркированного списка&lt;/li&gt;   &lt;/ul&gt;
  • 1 элемент маркированного списка
  • 2 элемент маркированного списка
  • 3 элемент маркированного списка
   &lt;ul&gt;   &lt;li type=&quot;circle&quot;&gt;1 элемент маркированного списка&lt;/li&gt;   &lt;li type=&quot;circle&quot;&gt;2 элемент маркированного списка&lt;/li&gt;   &lt;li type=&quot;circle&quot;&gt;3 элемент маркированного списка&lt;/li&gt;   &lt;/ul&gt;
  • 1 элемент маркированного списка
  • 2 элемент маркированного списка
  • 3 элемент маркированного списка
   &lt;ul&gt;   &lt;li type=&quot;square&quot;&gt;1 элемент маркированного списка&lt;/li&gt;   &lt;li type=&quot;square&quot;&gt;2 элемент маркированного списка&lt;/li&gt;   &lt;li type=&quot;square&quot;&gt;3 элемент маркированного списка&lt;/li&gt;   &lt;/ul&gt;
  • 1 элемент маркированного списка
  • 2 элемент маркированного списка
  • 3 элемент маркированного списка

Естественно, каждому маркеру отдельного элемента маркированного списка можно придать свой внешний вид, прописав соответствующие значения атрибута type.

   &lt;ul&gt;   &lt;li type=&quot;disc&quot;&gt;1 элемент маркированного списка&lt;/li&gt;   &lt;li type=&quot;circle&quot;&gt;2 элемент маркированного списка&lt;/li&gt;   &lt;li type=&quot;square&quot;&gt;3 элемент маркированного списка&lt;/li&gt;   &lt;/ul&gt;
  • 1 элемент маркированного списка
  • 2 элемент маркированного списка
  • 3 элемент маркированного списка

Нумерованные HTML списки — теги ol и li

Теперь посмотрим, как образуется нумерованный список с помощью тегов ol (блочный и парный тег по аналогии с ul). В качестве тега, определяющего элементы нумерованного списка html, здесь тоже выступает тег li. Нумерованный список — совокупность пронумерованных элементов. Тип нумерации определяется атрибутом type, который может принимать следующие значения:

  • A — заглавные латинские буквы;
  • a — строчные латинские буквы;
  • I — заглавные римские цифры;
  • i — строчные римские цифры;
  • 1 — арабские цифры
   &lt;ol&gt;   &lt;li type=&quot;A&quot;&gt;1 элемент нумерованного списка&lt;/li&gt;   &lt;li type=&quot;A&quot;&gt;2 элемент нумерованного списка&lt;/li&gt;   &lt;li type=&quot;A&quot;&gt;3 элемент нумерованного списка&lt;/li&gt;   &lt;/ol&gt;
  1. 1 элемент нумерованного списка
  2. 2 элемент нумерованного списка
  3. 3 элемент нумерованного списка
   &lt;ol&gt;   &lt;li type=&quot;a&quot;&gt;1 элемент нумерованного списка&lt;/li&gt;   &lt;li type=&quot;a&quot;&gt;2 элемент нумерованного списка&lt;/li&gt;   &lt;li type=&quot;a&quot;&gt;3 элемент нумерованного списка&lt;/li&gt;   &lt;/ol&gt;
  1. 1 элемент нумерованного списка
  2. 2 элемент нумерованного списка
  3. 3 элемент нумерованного списка
   &lt;ol&gt;   &lt;li type=&quot;I&quot;&gt;1 элемент нумерованного списка&lt;/li&gt;   &lt;li type=&quot;I&quot;&gt;2 элемент нумерованного списка&lt;/li&gt;   &lt;li type=&quot;I&quot;&gt;3 элемент нумерованного списка&lt;/li&gt;   &lt;/ol&gt;
  1. 1 элемент нумерованного списка
  2. 2 элемент нумерованного списка
  3. 3 элемент нумерованного списка
   &lt;ol&gt;   &lt;li type=&quot;i&quot;&gt;1 элемент нумерованного списка&lt;/li&gt;   &lt;li type=&quot;i&quot;&gt;2 элемент нумерованного списка&lt;/li&gt;   &lt;li type=&quot;i&quot;&gt;3 элемент нумерованного списка&lt;/li&gt;   &lt;/ol&gt;
  1. 1 элемент нумерованного списка
  2. 2 элемент нумерованного списка
  3. 3 элемент нумерованного списка
   &lt;ol&gt;   &lt;li type=&quot;1&quot;&gt;1 элемент нумерованного списка&lt;/li&gt;   &lt;li type=&quot;1&quot;&gt;2 элемент нумерованного списка&lt;/li&gt;   &lt;li type=&quot;1&quot;&gt;3 элемент нумерованного списка&lt;/li&gt;   &lt;/ol&gt;
  1. 1 элемент нумерованного списка
  2. 2 элемент нумерованного списка
  3. 3 элемент нумерованного списка

Также можно обеспечить нумерованный список, где нумерация элементов осуществляется в обратном порядке, например: 3, 2, 1. Это осуществляется с помощью атрибута reserve тега ol.

   &lt;ol reversed&gt;   &lt;li type=&quot;1&quot;&gt;1 элемент нумерованного списка&lt;/li&gt;   &lt;li type=&quot;1&quot;&gt;2 элемент нумерованного списка&lt;/li&gt;   &lt;li type=&quot;1&quot;&gt;3 элемент нумерованного списка&lt;/li&gt;   &lt;/ol&gt;
  1. 1 элемент нумерованного списка
  2. 2 элемент нумерованного списка
  3. 3 элемент нумерованного списка

Существует также возможность начать маркированный список не с 1, а с любого другого числа. Для этого можно воспользоваться атрибутом start, причем совершенно не важно, какое значение атрибута type установлено. Посмотрите пример использования атрибута name в совокупности с различными значениями атрибута type (1 и I):

   &lt;ol start=&quot;5&quot;&gt;   &lt;li type=&quot;1&quot;&gt;1 элемент нумерованного списка&lt;/li&gt;   &lt;li type=&quot;1&quot;&gt;2 элемент нумерованного списка&lt;/li&gt;   &lt;li type=&quot;1&quot;&gt;3 элемент нумерованного списка&lt;/li&gt;   &lt;/ol&gt;
  1. 1 элемент нумерованного списка
  2. 2 элемент нумерованного списка
  3. 3 элемент нумерованного списка
   &lt;ol start=&quot;4&quot;&gt;   &lt;li type=&quot;I&quot;&gt;1 элемент нумерованного списка&lt;/li&gt;   &lt;li type=&quot;I&quot;&gt;2 элемент нумерованного списка&lt;/li&gt;   &lt;li type=&quot;I&quot;&gt;3 элемент нумерованного списка&lt;/li&gt;   &lt;/ol&gt;
  1. 1 элемент нумерованного списка
  2. 2 элемент нумерованного списка
  3. 3 элемент нумерованного списка

goldbusinessnet.com

Второй способ

Разместить элементы списка горизонтально можно используя свойство float. Это свойство указывает по какой стороне выравнивается элемент, имеет две позиции: left и right.

Вот пример с использованием этого кода:

<!DOCTYPE html> <html> <head> 	<title>Список горизонтально</title> <style> ul.menu-top > li {  float: left; /* разещаем список горизонтально */  list-style: none;	/* Убираем маркеры списка */  padding: 5px;  margin: 2px;  border: 1px solid #000000;  background-color: #fffff0; } </style> </head> <body> <ul class="menu-top"> 	<li>Пункт 1</li> 	<li>Пункт 2</li> 	<li>Пункт 3</li> </ul>  </body> </html>

Вот результат работы кода:

CSS: как разместить элементы списка горизонтально: работа примера №4
Рисунок 4. Работа примера.

Вроде пример работает. Но в использовании этого свойства есть один нюанс. Сейчас мы его рассмотрим. Для примера возьмём код, в котором есть два горизонтальных списка с разным способом расположения элементов горизонтально: display и float:

<!DOCTYPE html> <html> <head> 	<title>Список горизонтально</title> <style> ul{ 	border: 1px solid red; } ul.menu-1 > li, ul.menu-2 > li { 	list-style: none;	/* Убираем маркеры списка */ 	padding: 5px; 	margin: 2px; 	border: 1px solid #000000; 	background-color: #fffff0; } /* разещаем списки горизонтально */ ul.menu-1 > li { 	float: left; } ul.menu-2 > li { 	display: inline-block; } </style> </head> <body> <ul class="menu-2"> 	<li>Пункт 1</li> 	<li>Пункт 2</li> 	<li>Пункт 3</li> </ul>  <ul class="menu-1"> 	<li>Пункт 1</li> 	<li>Пункт 2</li> 	<li>Пункт 3</li> </ul>  </body> </html>

Вот результат работы кода:

CSS: как разместить элементы списка горизонтально: работа примера №5
Рисунок 5. Работа примера.

В этих примерах контейнеры списка <ul> имеют красную границу толщиной 1 пиксел. Но верхний список, в котором используется свойство display, включает в себя элементы списка. А вот элементы списка созданного с использованием свойства float выпадают из своего контейнера.

При этом на первый взгляд всё работает. Но давайте поменяем местами наши списки. Поставим список с классом menu-1 в коде перед списком с классом menu-2 (сейчас он ниже).

Вот что мы получим в результате:

CSS: как разместить элементы списка горизонтально: работа примера №6
Рисунок 6. Работа примера.

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

Как решить эту проблему?

Для этого нужно использовать свойство clear, оно отменяет обтекание элементом другого элемента, если у того установлено свойство float.

Вот изменённый пример с использованием свойства clear:

<!DOCTYPE html> <html> <head> 	<title>Список горизонтально</title> <style>  ul{  border: 1px solid red;  }  ul.menu-1 > li, ul.menu-2 > li {  list-style: none;	/* Убираем маркеры списка */  padding: 5px;  margin: 2px;  border: 1px solid #000000;  background-color: #fffff0;  }  /* разещаем списки горизонтально */  ul.menu-1 > li {  float: left;  }  ul.menu-2 > li {  display: inline-block;  }  /* отменяем обтекание */  .menu-2{  	clear: both;  } </style> </head> <body> <ul class="menu-1"> 	<li>Пункт 1</li> 	<li>Пункт 2</li> 	<li>Пункт 3</li> </ul>  <ul class="menu-2"> 	<li>Пункт 1</li> 	<li>Пункт 2</li> 	<li>Пункт 3</li> </ul>  </body> </html>

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

CSS: как разместить элементы списка горизонтально: работа примера №7
Рисунок 7. Работа примера.

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

Это делается при помощи псевдоэлемента. Вот код:

<!DOCTYPE html> <html> <head> 	<title>Список горизонтально</title> <style>  ul{  border: 1px solid red;  }  ul.menu-1 > li, ul.menu-2 > li {  list-style: none;	/* Убираем маркеры списка */  padding: 5px;  margin: 2px;  border: 1px solid #000000;  background-color: #fffff0;  }  /* разещаем списки горизонтально */  ul.menu-1 > li {  float: left;  }  /* создаём псевдоэлемент для clear: both; */  ul.menu-1::after{  content: '.';	/* обязательно контент */  display: block;	/* обязательно блок */  clear: both;  height: 0;	/* чтобы не растягивал контейнер */  }  ul.menu-2 > li {  display: inline-block;  } </style> </head> <body> <ul class="menu-1"> 	<li>Пункт 1</li> 	<li>Пункт 2</li> 	<li>Пункт 3</li> </ul>  <ul class="menu-2"> 	<li>Пункт 1</li> 	<li>Пункт 2</li> 	<li>Пункт 3</li> </ul>  </body> </html>

Теперь у нас 100% рабочий код.

CSS: как разместить элементы списка горизонтально: работа примера №8
Рисунок 8. Работа примера.

Этот приём со свойством float обычно используют при вёрстке сайтов для выравнивания столбцов, которые создаются тегами <div>. Таким способом мы получаем нормальное построение столбцов с требуемым выравниванием по высоте. Когда мы создаём меню, то нам, в большенстве случаев, не важна высота блоков, она практически всегда одинакова. Поэтому использование правила {display: inline-block} в этих случаях вполне оправдано.

Но для полноты раскрытия темы мы тут ознакомились со всеми возможными вариантами. Хотя может есть и другие способы, например использование CSS-таблиц, но поисковики настойчиво рекомендуют использовать таблицы только по их прямому назначению, а не для организации элементов навигации или ещё как-либо.

komotoz.ru

Вариант 2 верен: вложенный <ul> является дочерним элементом <li>, к которому он принадлежит.

Если вы validate, опция 1 появляется как ошибка в html 5 — кредит: user3272456


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

<ul>  <li>Parent/Item  <ul>  <li>Child/Subitem  </li>  </ul>  </li> </ul> 

Элемент списка может содержать другой полный список — это называется «вложением» списка. Это полезно для таких вещей, как оглавление, например, в начале этой статьи:

  • Глава первая
    • Раздел 1
    • Раздел второй
    • Раздел третий
  • Глава вторая
  • Глава третья

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

<ol>  <li>Chapter One  <ol>  <li>Section One</li>  <li>Section Two </li>  <li>Section Three </li>  </ol>  </li>  <li>Chapter Two</li>  <li>Chapter Three </li> </code> 

Обратите внимание, как вложенный список запускается после <li> и текста содержащего элемента списка ( «Глава первая» ); затем заканчивается перед </li> содержащего элемент списка. Вложенные списки часто составляют основу для меню навигации по сайту, так как они являются хорошим способом определения иерархической структуры веб-сайта.

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

qaru.site

Маркированные списки на основе тэгов UL и LI

Для создания маркированных списков используется тег UL, а для создания нумерованных – OL. Эти теги являются парными и блочными, точно так же, как и элемент LI.

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

Давайте посмотрим, например, маркированный вариант, который может выглядеть так:

Html ul li

  • Первая строка
  • Вторая
  • Последний элемент

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

Т.е. UL служит только для организации маркированного (не упорядоченного) листинга, а все, что вы будете видеть на web странице внутри него, реализуется с помощью содержимого элементов LI.

Для UL можно менять вид маркера, прописывая в нем разные значения для атрибута «Type». Если «Type» (управление внешним видом маркеров) для элемента UL не указан, то будет отображаться вид маркера, принятого по умолчанию (disc — закрашенный в цвет текста кружок):

  1. <ul type=»disc»> — закрашенный кружок (по умолчанию);
  2. <ul type=»circle»> — не закрашенный кружок;
  3. <ul type=»square»> – квадрат

В приведенных примерах атрибут «Type» мы прописывали в элементе UL, применяя данный тип маркеров для всех пунктов. Но атрибут «Type» можно прописать и для каждого отдельного тега LI, задав для этого пункта свой собственный тип маркера.

Пример маркированного списка с различными типами маркера для каждого пункта:

Html ul li

  1. Маркер в виде закрашенного диска
  2. Маркер в виде не закрашенного диска
  3. Квадрат

Нумерованные списки в Html на основе тэга OL

Для создания нумерованного листинга используются теги OL, внутри которых опять же будут расположены элементы LI. OL и LI, как я уже упоминал, являются блочными (т.е. стремятся занять все доступное им место по ширине) и внутри OL нельзя будет размещать ничего кроме элементов LI.

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

Html ul li

  1. Первая строка
  2. Второй пункт
  3. Третья строка

Как я уже упоминал чуть выше, у элементов UL, OL и LI имеется возможность использовать атрибут TYPE. Он позволяет настроить тип маркера или задать, какими цифрами или буквами будут нумероваться пункты листинга. Для нумерованного списка параметры этого атрибута могут принимать следующие значения:

  1. <ol type=»1″> — нумерация будет выполняться обычными арабскими цифрами (этот же вариант будет использоваться по умолчанию, при отсутствии атрибута «Type»);
  2. <ol type=»A»> — заглавные буквы в качестве нумерации;
  3. <ol type=»a»> — строчные буквы;
  4. <ol type=»I»> — заглавные римские цифры;
  5. <ol type=»i»> — строчные римские цифры;

Пример нумерованного списка с различными типами нумерации для каждого пункта:

Html ul li

  1. с нумерацией большими римскими цифрами
  2. Нумерация маленькими латинскими буквами
  3. Нумерация малыми римскими цифрами

При создании нумерованных списков имеется так же возможность начать нумерацию не с единицы, а с заданного в атрибуте START числа. Например:

Html ul li

  1. Первый элемент, номер которого задан в теге OL атрибутом start=»23″
  2. Следующий пункт, с номером на единицу большим
  3. Еще на единицу больше

Для OL так же можно начать новую нумерацию с любого значения, начиная с любого пункта, прописав в открывающем LI этого пункта атрибут VALUE с требуемым числом. Например:

Html ul li

  1. Первый пункт с номером один
  2. Этот элемент получит номер, указанный в атрибуте value=»32″
  3. Пункт с большим номером

Оформление внешнего вида списков в CSS (таблицах стилей)

Но, как правило, сейчас внешний вид маркеров задается не через атрибут TYPE, а при помощи селекторов класса или Id, для которых прописываются соответствующие свойства.

В правилах CSS, прописанных для этого класса или Id, указывается, какая картинка будет использоваться в качестве маркера, на каком расстоянии маркер будет отстоять от текста и еще многое. Подробности смотрите в статье про свойства таблиц стилей List style ( type, image, position).

Здесь я просто приведу пример различных маркеров для ненумерованных списков, внешний вид которых задается через отдельный файл с таблицами каскадных стилей.

<ul classs="vash_class"> <li>Первый пункт</li> <li>Второй</li> <li>Последний</li> </ul>

Но а о тонкостях работы с CSS мы поговорим в последующих статьях. Именно таким способом задается внешний вид маркеров для UL на этом блоге. В качестве маркеров используются картинки: для обычных пунктов не нумерованного списка — Html ul li, для вложенных пунктов ненумерованного — Html ul li.

ktonanovenkogo.ru

Нумерованные списки. Теги <ol> и <li>,

В HTML 5 используется три вида списков: нумерованный, маркированный и список определения.

Нумерованный список формируется парным тегом <ol> (от англ. ordered list). Сам элемент ‘ol’ используется, как контейнер для пунктов списка, которые формируются парными тегами <li> и располагаются друг за другом.

По умолчанию пункты списка нумеруются браузером по порядку, начиная с единицы. Если нумерацию нужно начать не с единицы, то используется атрибут start, который задает число, с которого будет начинаться нумерованный список. В качестве значения атрибут принимает целые числа. Можно также изменить порядок нумерации на обратный. Для этого служит атрибут reversed, который используется без значений. Атрибут введен в HTML 5 и работает во всех браузерах, кроме IE.

Имеется также возможность устанавливать вид маркера нумерованного списка. Для этого используется атрибут type, который может принимать значения «A | a | I | i | 1», которые, соответственно, означают:

  • заглавные латинские буквы,
  • строчные латинские буквы,
  • заглавные римские цифры,
  • строчные римские цифры,
  • арабские цифры.

Поскольку все перечисленные значения, и не только, могут быть с легкостью установлены через стили CSS, использование атрибута type, по мнению автора, не целесообразно, хотя и допускается в HTML 5.

Использование нумерованного списка показано в примере 2.10.

 <!DOCTYPE html> <html> <head> 	<meta charset="utf-8">	 	<title>Нумерованный список</title> </head> <body> 	<em style="color: green">Весенние месяцы по порядку:</em> 	 	<ol start="3" title="Весенние месяцы"> 		<li>март</li> 		<li>апрель</li> 		<li>май</li> 	</ol> 	 	<em style="color: red">Летние месяцы в обратном порядке:</em> 	 	<!-- Перечисляем в обратном порядке. В IE не работает! --> 	<ol start="8" reversed> 		<li>август</li> 		<li>июль</li> 		<li>июнь</li> 	</ol> </body> </html> 

Пример 2.10. Использование элемента ‘ol’

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

Маркированные списки. Теги <ul> и <li>,

Маркированный список формируется парным тегом <ul> (от англ. unordered list). Сам элемент ‘ul’ используется, как контейнер для пунктов списка, которые формируются, как и в случае с нумерованными списками, парными тегами <li> и располагаются друг за другом.

Маркированный список вместо цифр и букв использует маркеры в виде кружков. Изменить внешний вид маркеров можно при помощи стилей CSS. Что касается атрибута type, то его в HTML 5 убрали. Так что, остались только универсальные атрибуты и атрибуты-события.

Код, содержащий элемент ‘ul’, показан в примере 2.11.

 <!DOCTYPE html> <html> <head> 	<meta charset="utf-8">	 	<title>Маркированный список</title> </head> <body> 	<em style="color: green">Весенние месяцы:</em> 	<!-- Задаем фон, чтобы визуально увидеть область,  	занимаемую списком, как блочным элементом --> 	<ul style="background-color: yellow"> 		<li>март</li> 		<li>апрель</li> 		<li>май</li> 	</ul> </body> </html> 

Пример 2.11. Использование элемента ‘ul’

Списки определений. Теги <dl>, <dt>, <dd>

Список определений формируется парным тегом <dl> (от англ. definition list). Сам элемент ‘dl’ используется, как контейнер для пунктов списка. Каждый такой пункт, в свою очередь, состоит из элементов ‘dt’ (от англ. definition term) и ‘dd’ (от англ. definition description), сформированных, соответственно, парными тегами <dt> и <dd>. Первый из них содержит определяемый термин, а второй – определение термина.

Давайте для наглядности посмотрим пример 2.12.

 <!DOCTYPE html> <html> <head> 	<meta charset="utf-8">	 	<title>Список определений</title> </head> <body> 		 	<dl title="Список из двух определений"> 		<dt>HTML</dt> 			<dd>Стандартный язык гипертекстовой разметки веб-документов, <br> 			который повсеместно используется во Всемирной паутине.</dd> 		 		<dt>CSS</dt> 			<dd>Формальный язык описания внешнего вида документа, <br> 			написанного с использованием языка разметки.</dd> 	</dl> </body> </html> 

Пример 2.12. Использование элемента ‘dl’

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

Иногда возникает необходимость создания вложенных списков, которые представляют собою списки, расположенные в пунктах внешнего списка. Рассмотрим создание вложенных списков на примере 2.13.

 <!DOCTYPE html> <html> <head> 	<meta charset="utf-8">	 	<title>Вложенные списки</title> </head> <body> 	<!-- Пусть будет нумерованный список -->	 	<ol> 		<!-- В каждый пункт помещаем новый список --> 		<li>Три сорта яблок: 			<ul> 				<li>Антоновка,</li> 				<li>Штрефель,</li> 				<li>Кубань.</li> 			</ul> 		</li> 		<!-- А сюда поместим нумерованный список --> 		<li>Три сорта груш: 			<ol> 				<li>Чижовская,</li> 				<li>Вильямс,</li> 				<li>Дюшес.</li> 			</ol> 		</li> 	</ol> </body> </html>	 

Пример 2.13. Использование вложенных списков

Как видим, создавать вложенные списки совсем не трудно. Для этого нужно внимательно между открывающим тегом <li> и закрывающим тегом </li> для нумерованных и маркированных списков расположить вложенный список требуемого вида. Что касается списков определений, то вложенный список следует располагать между открывающим тегом <dd> и закрывающим тегом </dd>. Это может понадобиться, например, если нужно дать термину несколько определений.

belarusweb.net


You May Also Like

About the Author: admind

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.