В HTML есть три разных типа списков:

  • Неупорядоченные списки (ul, сокращенно от unordered lists) — список элементов, где каждый элемент списка помечен маркером;
  • Упорядоченные списки (ol, сокращенно от ordered lists) — список элементов, где каждый элемент списка помечен номером;
  • Список определений (dl, сокращенно от definition list) — список элементов с описанием каждого элемента.

См. Руководство по спискам в HTML, чтобы узнать больше о том, как их создавать.

Стилизация списков с помощью CSS

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

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

Теперь обсудим свойства, которые можно использовать для стилизации HTML-списков.

Изменение типа маркера списков

По умолчанию элементы в упорядоченном списке нумеруются арабскими цифрами (1, 2, 3, 5 и т. д.), тогда как в неупорядоченном списке элементы помечаются круглыми маркерами (•).

Но вы можете изменить этот тип маркера по умолчанию на любой другой тип, такой как римские цифры, латинские буквы, круг, квадрат и т. д., используя свойство list-style-type.

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

ul {
    list-style-type: square;
}
ol {
    list-style-type: upper-roman;
}

Изменение положения списка маркеров

По умолчанию маркеры для каждого элемента списка располагаются за пределами (outside) их блока.

Однако вы также можете расположить эти маркеры внутри элементов списка, используя свойство list-style-position вместе со значением inside. В этом случае строки будут переноситься с маркером, а не с отступом. Вот пример:

ol.in li {
    list-style-position: inside;
}
ol.out li {
    list-style-position: outside;
}

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

Лучше не использовать значение inside в основном контенте страницы, там где могут быть использованы теги <p> внутри тегов <li>. Дело в том, что маркер списка строчный элемент, а тег <p> блочный и он будет переноситься на следующую строку.

Использование изображений в качестве маркеров списка

Вы также можете установить изображение в качестве маркера списка, используя свойство list-style-image.

Правило в следующем примере назначает прозрачное изображение PNG arrow.png в качестве маркера списка для всех элементов в неупорядоченном списке.

ul li {
    list-style-image: url("images/arrow.png");
}

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

В качестве альтернативного пути вы также можете установить маркеры изображения через CSS-свойство background-image. Во-первых, установите list-style-type в значение none, чтобы не было маркеров. Во-вторых определите не повторяющееся (background-repeat: no-repeat) фоновое изображение (background-image) для элемента списка.

В следующем примере маркеры изображения отображаются одинаково во всех браузерах:

ul {
    list-style-type: none;
}
ul li {
    background-image: url("images/bullet.png");
    background-position: 0px 5px;    /* X-pos Y-pos (from top-left) */
    background-repeat: no-repeat;
    padding-left: 20px;
}

Установка всех свойств списка одновременно

Свойство list-style является кратким свойством для определения всех трех свойств list-style-type, list-style-image и list-style-position списка в одном.

Следующее правило устанавливает все свойства списка в одном объявлении.

ul {
    list-style: square inside url("images/bullet.png");
}

При использовании сокращенного свойства list-style, важен порядок значений: list-style-type | list-style-position | list-style-image. Не имеет значения, пропущено ли одно из указанных выше значений, если остальные находятся в указанном порядке.

Создание меню навигации с использованием списков

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

ul {
    padding: 0;
    list-style: none;
    background: #f2f2f2;
}
ul li {
    display: inline-block;
}
ul li a {
    display: block;
    padding: 10px 25px;
    color: #333;
    text-decoration: none;
}
ul li a:hover {
    color: #fff;
    background: #939393;
}

Подробнее о CSS-свойствах display и padding вы узнаете в следующих главах.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.