edubun
Русский

Списки

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

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

Если порядок пунктов не важен, используй маркированный список <ul>. Браузеры ставят перед каждым пунктом маркер. Если порядок важен, как в шагах рецепта или в рейтинге, используй нумерованный список <ol>, и браузер сам пронумерует пункты. В обоих случаях каждый пункт является элементом <li> (list item), и прямо внутри <ul> или <ol> разрешены только элементы <li>. Текст и другие элементы помещаются внутрь пунктов.

<h2>You will need</h2>
<ul>
  <li>500 g flour</li>
  <li>10 g salt</li>
  <li>350 ml warm water</li>
</ul>

<h2>Method</h2>
<ol>
  <li>Mix everything in a bowl.</li>
  <li>Leave it covered for 12 hours.</li>
  <li>Shape and bake at 230 degrees for 40 minutes.</li>
</ol>
Ингредиенты можно перечислять в любом порядке, а шаги нельзя.

Почему бы не набрать номера или тире самому? Потому что тогда браузер не знает, что это список. Экранный диктор объявляет настоящий список вместе с его длиной, например «список, 3 элемента», так что слушатель знает, сколько впереди, и может его пропустить. Когда вставляешь шаг в <ol>, все номера после него обновляются сами, а набранные вручную пришлось бы перенумеровывать.

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

У <ol> есть несколько атрибутов. start="4" начинает счёт с 4; это удобно, когда список продолжается после абзаца. reversed считает вниз, для десятки лучших. type меняет маркер на буквы или римские цифры: type="a", type="A", type="i" или type="I". Отдельный пункт тоже может перескочить на номер через value, как в <li value="10">. Как выглядят маркеры и номера (их форма, цвет и видны ли они вообще), решает CSS.

Списки внутри списков

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

<ul>
  <li>Bread
    <ul>
      <li>Sourdough</li>
      <li>Rye</li>
    </ul>
  </li>
  <li>Cakes</li>
</ul>
Внутренний список стоит внутри пункта Bread, перед его закрывающим тегом.

Списки описаний

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

Списки встречаются там, где их не ждёшь. Меню наверху большинства сайтов является <ul> из ссылок внутри <nav>; CSS выстраивает пункты в ряд и прячет маркеры. Ряд карточек товаров или результаты поиска часто тоже списки. Когда видишь группу похожих вещей, спроси себя, не список ли это. Обычно ответ «да».

Быстрый способ выбрать между ними: мысленно перемешай пункты. Если от этого меняется смысл, как у шагов рецепта или десятки лучших, список нумерованный и ему нужен <ol>. Если ничего не меняется, как у списка вещей в дорогу, используй <ul>. Делай пункты короткими и начинай их одинаково по грамматике, чтобы список легко было пробежать глазами.

ulМаркированный список: порядок не важен
olНумерованный список: шаги или рейтинг
liОдин пункт списка
dl / dt / ddСписок описаний: пары «термин и описание»
startЧисло, с которого начинается ol
reversedЗаставляет ol считать вниз
  1. Какой список подходит для шагов рецепта?
    • ol
    • ul
    • dl
  2. Какой список подходит для перечня ингредиентов?
    • ul
    • ol
    • dl
  3. Какой элемент может стоять прямо внутри ul?
  4. Куда помещается вложенный список?
    • Внутрь li, к которому он относится
    • Между двумя элементами li
    • После внешнего списка
  5. У ol стоит start="5", и в нём 3 пункта. Какой номер покажет последний пункт?
  6. В ol с reversed 10 пунктов. Что покажет первый пункт?
  7. Какой элемент хранит термин в списке описаний?
    • dt
    • dd
    • li
  8. Зачем настоящий список, если можно набрать 1. 2. 3.?
    • Экранные дикторы объявляют список и его длину, а номера обновляются сами
    • Списки быстрее загружаются
    • Набирать номера запрещено
  9. Какой атрибут заставляет ol использовать римские цифры (i, ii, iii)?
    • type="i"
    • start="i"
    • value="i"
  10. Меню сайта в верхней части страницы обычно является
    • ul из ссылок внутри nav
    • таблицей
    • рядом элементов br
Главное
  • ul, когда порядок не важен, ol, когда важен; каждый пункт является li.
  • Вложенные списки помещаются внутрь li.
  • dl, dt и dd связывают термины с описаниями.
Источники курса (10)
  • WHATWG, HTML Living Standard (html.spec.whatwg.org, checked 2026-10-17)
  • MDN Web Docs, Learn web development: Structuring content with HTML, and the HTML element reference (developer.mozilla.org/en-US/docs/Learn_web_development/Core/Structuring_content and developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements, checked 2026-10-17)
  • MDN, HTML images (alt text guidance, checked 2026-10-17)
  • W3C WAI, Images tutorial and alt decision tree (w3.org/WAI/tutorials/images/decision-tree, checked 2026-10-17)
  • CERN, A short history of the Web (home.cern/science/computing/the-birth-of-the-web/short-history-web/, checked 2026-10-17)
  • W3C and WHATWG memorandum of understanding, 28 May 2019 (w3.org/2019/04/WHATWG-W3C-MOU.html, checked 2026-10-17)
  • W3C, Using ARIA, first rule of ARIA use (w3.org/TR/using-aria/, checked 2026-10-17)
  • W3C Markup Validation Service (validator.w3.org, checked 2026-10-17)
  • MDN, Viewport meta element (checked 2026-10-17)
  • Every code exercise was checked with a Playwright probe against a reference solution.

Проверено: 2026-10-17