Достижение нумерации юнитов по олам html

Я не уверен, что его назвали, но возможно ли достичь формата:

1.

1.1

1.2

1.2.1

1.2.2

1.3

Я думаю, что все, спасибо!

Ответы

Ответ 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 }