Вот изящное решение. (Честно говоря, я сам удивился этому.) В CSS есть нечто, называемое counters , где вы можете установить, например, автоматические номера глав для каждого заголовка. Небольшая модификация дает вам следующее; Вам нужно самостоятельно разобраться с прокладкой и т. Д.
ol {
counter-reset: list;
}
ol > li {
list-style: none;
}
ol > li:before {
content: counter(list, lower-alpha) ") ";
counter-increment: list;
}
<span>custom list style type (v1):</span>
<ol>
<li>Number 1</li>
<li>Number 2</li>
<li>Number 3</li>
<li>Number 4</li>
<li>Number 5</li>
<li>Number 6</li>
</ol>
Работает во всех современных браузерах и IE9 + (и, возможно, IE8, но может содержать ошибки).
Обновление: Я добавил дочерний селектор, чтобы запретить вложенным спискам подобрать родительский стиль. Трейдер также отмечает в комментариях, что выравнивание элементов списка также нарушено. Статья на 456bereastreet имеет хорошее решение, которое предполагает абсолютное позиционирование счетчика.
ol {
counter-reset: list;
}
ol > li {
list-style: none;
position: relative;
}
ol > li:before {
counter-increment: list;
content: counter(list, lower-alpha) ") ";
position: absolute;
left: -1.4em;
}
<span>custom list style type (v2):</span>
<ol>
<li>Number 1</li>
<li>Number 2</li>
<li>Number 3</li>
<li>Number 4</li>
<li>Number 5</li>
<li>Number 6</li>
</ol>
Вот jsFiddle , показывающий результат, включая вложенные списки.