CSS предоставляет возможность управления нумерацией (счётчиками) разделов, списков, перечней иллюстраций ... Для этого используются функции counter()
и counters()
. Счётчики объявляются с помощью свойства content
, потом могут обнуляться (свойство counter-reset
) и прибавляться (свойство counter-increment
). Например, для автоматической нумерации заголовков первого и второго уровней (h1 - главы и h2 - разделы) необходимо использовать стиль:
h1:before {
content: "Глава " counter(chapter) ". ";
counter-increment: chapter;
counter-reset: section;
}
h2:before {
content: counter(chapter) "." counter(section) " ";
counter-increment: section;
}
Применение такого стиля даёт нумерацию глав в виде Глава 1., Глава 2., а для разделов в виде 1.1, 1.2 и т.д.
Для символов нумерации нумерованных списков и маркеров ненумерованных списков есть возможность выбрать стиль свойством list-style-type
.
Расположение маркера по отношению к тексту элемента списка регулируется с помощью свойств list-style-position
и marker-offset
.
Таблица 2.7. Свойства управления списком
Свойство |
Описание |
Умолчание |
Применение |
content |
Генерация содержимого |
Пустая строка |
К псевдоэлементам before и after |
counter-reset |
Сброс счётчика |
none |
Ко всем элементам |
counter-increment |
Приращение счётчика |
none |
Ко всем элементам |
list-style-type |
Стиль нумерации/маркирования |
disk |
К элементам с display:list-item |
list-style-image |
Символ маркирования |
none |
К элементам с display:list-item |
list-style-position |
Положение маркера |
outside |
К элементам с display:list-item |
marker-offset |
Смещение маркера |
auto |
К элементам с display:marker |
Генерация содержимого
content
:URI|counter()|attr(X)|open-quote|close-quote
|no-open-quote
|no-close-quote
URI
- адрес внешнего ресурса, используемого для генерации,
couter()|counters()
- определение счётчиков,
attr(X)
- функция, возвращающая значение атрибута Х
элемента, выбранного селектором,
open-quote
- открывающая кавычка, замещается соответствующими символами из свойства quotes,
close-quote
- закрывающая кавычка, замещается соответствующими символами из свойства quotes,
no-open-quote
- пустая строка, увеличивает уровень вложения кавычек на 1,
no-close-quote
- пустая строка, уменьшает уровень вложения кавычек на 1.
Сброс счётчика
counter-reset
:имя_счётчика Vv|none
Vv
- начальное зачение счётчика.
Приращение счётчика
counter-increment
:имя_счётчика Vv|none
Vv
- величина приращения счётчика.
Стиль нумерации/маркирования
list-style-type
:disk|circle|square
list-style-type
:
decimal|decimal-leading-zero|lower-roman|upper-roman
list-style-type
:
lower-greek|lower-latin|upper-latin
disk
- диск в качестве маркера для маркированных списков,
circle
- круг,
square
- квадрат,
decimal
- десятичная нумерация 1 2 3,
decimal-leading-zero
- десятичная нумерация с ведущим нулём 01 02 03,
lower-roman
- малые римские i ii iii iv,
upper-roman
- большие римские I II III IV,
lower-greek
- малые греческие буквы,
lower-latin
- малые латинские буквы a b c,
upper-latin
- большие латинские буквы A B C.
Положение маркера
list-style-position
:inside|outside
<ul>
<li>
<code>outside</code> - маркер списка располагается<br> вне текста,
</li>
<li style="list-style-position:inside">
<code>inside</code> - маркер списка располагается<br> внутри текста.
</li>
</ul>
-
outside
- маркер списка располагается
вне текста,
-
inside
- маркер списка располагается
внутри текста.