Ответ 1
Несколько вариантов, по сути, варьируются в зависимости от надежности и поддержки:
- Сделайте это в коде, который генерирует списки. При условии, что он генерируется HTML, в конце концов. Википедия делает это, например, для своих номеров разделов.
- Вы можете написать JavaScript, чтобы сделать это после загрузки страницы. Не будет работать с отключенным JavaScript, естественно.
-
Или вы можете перейти на счетчики CSS. Вероятно, это лучший вариант, если вам не нужно поддерживать устаревшие версии IE, где он поддерживается с версии 8.
Счетчики являются "самонастраивающимися", в том смысле, что сброс счетчика в элементе потомка или псевдоэлементе автоматически создает новый экземпляр счетчика. Это важно для ситуаций, подобных спискам в HTML, где элементы могут встраиваться внутри себя на произвольную глубину. Было бы невозможно определить уникально названные счетчики для каждого уровня.
Пример (ы):
Таким образом, достаточно количество вложенных элементов списка. Результат очень похож на результат установки "display: list-item" и "list-style: inside" в элементе LI:
OL { counter-reset: item } OL>LI { display: block } OL>LI:before { content: counters(item, ".") ". "; counter-increment: item }