Опубликован: 28.11.2008 | Уровень: для всех | Доступ: платный
Лекция 16:

Списки HTML

< Лекция 15 || Лекция 16: 123 || Лекция 17 >

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

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

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

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

Можно ассоциировать более одного термина с одним определением, или наоборот. Например, термин "кофе" может иметь несколько значений, и можно показать их одно за другим:

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

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

содовая
шипучка 
газировка 
кола 
      Сладкий, насыщенный углекислым газом, напиток

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

Поэтому списки определений используют одну пару элементов <dl></dl>, охватывающую группы тегов <dt></dt> и <dd></dd>. Необходимо располагать парами как минимум одну группу тегов <dt></dt> с одной группой <dd></dd> ; теги <dt></dt> должны всегда быть первыми по порядку.

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

<dl>
  <dt>Термин </dt>
  <dd>Определение термина </dd>
  <dt>Термин </dt>
  <dd>Определение термина </dd>
  <dt>Термин </dt>
  <dd>Определение термина </dd>
</dl>

Который выводится следующим образом:

Термин 
     Определение термина 
Термин 
     Определение термина 
Термин 
     Определение термина

В этом примере мы соединяем более одного термина с определением и наоборот:

<dl>
  <dt>Термин </dt>
  <dd>Определение термина </dd>
  <dt>Термин </dt>
  <dt>Термин </dt>
  <dd>Определение которое применяется к обоим предыдущим терминам </dd>
  <dt>Термин, который может иметь оба следующие определения </dt>
  <dd>Одно определение термина </dd>
  <dd>Другое определение термина </dd>
</dl>

Что будет представлено следующим образом:

Термин 
     Определение термина 
Термин 
Термин 
     Определение которое применяется к обоим предыдущим терминам 
Термин, который может иметь оба следующие определения 
     Одно определение термина 
     Другое определение термина

Обычно не принято связывать несколько терминов с одним определением, но полезно знать, что это возможно, если возникнет такая необходимость.

Выбор типа списка

При принятии решения об использовании определенного типа списка, обычно можно решить это, задавая два простых вопроса:

  1. Определяются термины (или соединяются другие пары имя/значение)?
    • Если да, используйте список определений.
    • Если нет, не используйте список определений - перейдите к следующему вопросу.
  2. Важен ли порядок элементов списка?
    • Если да, используйте упорядоченный список.
    • Если нет, используйте неупорядоченный список.

Различие между списками HTML и текстом

Можно задаться вопросом, в чем различие между списком HTML и каким-то текстом с маркерами или числами, написанными вручную. Существует несколько преимуществ использования списка HTML:

  • Если потребуется изменить порядок элементов списка в упорядоченном списке, то вы просто перемещаете их в коде HTML. Если числа будут написаны вручную, то придется все просмотреть и изменить число каждого элемента, чтобы исправить порядок — что достаточно скучно, по крайней мере!
  • Использование списка HTML позволяет правильно оформить стиль списка. Если используется просто большой текст, то окажется значительно труднее оформить стиль отдельных элементов каким-либо более-менее полезным образом.
  • Использование списка HTML создает для контента подходящую семантическую структуру, а не просто "спискообразный" визуальный эффект. Это имеет важные преимущества, так как позволяет считывателям экрана сообщить пользователям с недостатками зрения, что они читают список, а не просто прочитать путаную смесь текста и чисел.

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

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

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

1. Глава один 
      1. Раздел один
      2. Раздел два 
      3. Раздел три 
2. Глава два 
3. Глава три

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

<ol>
<li>Глава один
<ol>
<li>Раздел один </li>
<li>Раздел два </li>
<li>Раздел три </li>
</ol>
</li>
<li>Глава два </li>
<li>Глава три  </li>
</ol>

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

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

Пошаговый пример

Давайте рассмотрим пошаговый пример, чтобы собрать все это вместе. Рассмотрим следующий сценарий:

Мы создаем небольшой Web-сайт для Кулинарной школы. На основной странице мы покажем список классифицированных рецептов, связанный ссылками со страницами рецептов. Каждая страница рецепта перечисляет требуемые ингредиенты, замечания по этим ингредиентам и метод приготовления. Тремя категориями являются "Cakes" (включающая рецепты для "Plain Sponge", "Chocolate Cake" и "Apple Tea Cake"); "Biscuits" (включающая рецепты "ANZAC Biscuits", "Jam Drops" и "Melting Moments"); и "Quickbreads" (включающая рецепты для "Damper" и "Scones"). Клиенту все равно в каком порядке будут выводиться категории и рецепты, он просто хочет, чтобы люди понимали, какие позиции являются категориями, а какие являются рецептами.

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

Разметка основной страницы

Создайте правильно сформированную страницу HTML, включая doctype, элементы html , head и body, и сохраните его как stepbystep-main.html. Добавьте основной заголовок ( h1 ) " HTML Cooking School", и подзаголовок ( h2 ) "Recipes":

<h1>HTML Cooking School</h1>
<h2>Recipes</h2>

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

<h2>Recipes</h2>
<ul>
<li>Cakes</li>
<li>Biscuits</li>
<li>Quickbreads</li>
</ul>

Отступ для элементов li делает код удобнее для чтения, но не является обязательным.

Теперь нужно добавить рецепты в качестве подпунктов, например, "Plain Sponge", "Chocolate Cake" и "Apple Tea Cake" являются частью категории "Cakes". Для этого необходимо в каждой позиции списка создать вложенный список. Так как порядок неважен, то снова подходит неупорядоченный список. Чтобы упростить материал для учебного руководства, все рецепты можно соединить с одной страницей рецептов:

<h2>Recipes</h2>
<ul>
<li>Cakes
<ul>
<li><a href="stepbystep-recipe.html">Plain Sponge</a></li>
<li><a href="stepbystep-recipe.html">Chocolate Cake</a></li>
<li><a href="stepbystep-recipe.html">Apple Tea Cake</a></li>
</ul>
</li>
<li>Biscuits
<ul>
<li><a href="stepbystep-recipe.html">ANZAC Biscuits</a></li>
<li><a href="stepbystep-recipe.html">Jam Drops</a></li>
<li><a href="stepbystep-recipe.html">Melting Moments</a></li>
</ul>
</li>
<li>Breads/quickbreads
<ul>
<li><a href="stepbystep-recipe.html">Damper</a></li>
<li><a href="stepbystep-recipe.html">Scones</a></li>
</ul>
</li>
</ul>
< Лекция 15 || Лекция 16: 123 || Лекция 17 >
Марина Походаева
Марина Походаева

Помогите мне. Я ничего не понимаю в курсе ((((((   (от слова "совсем") и мне от этого очень грустно. Есть ли какие-нибудь курсы для "чайников", самые простые в объяснении. ПАМАГИТЕ!!!

Федор Антонов
Федор Антонов

Здравствуйте!

Записался на ваш курс, но не понимаю как произвести оплату.

Надо ли писать заявление и, если да, то куда отправлять?

как я получу диплом о профессиональной переподготовке?

Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Галина Матрук
Галина Матрук
Молдова, Республика, Кишинев, UTM, 2010