CSS 2.1 introduced counters which can be used to auto number your headings or other elements. You can define a counter, which will incremented for every element of a specific class or it will reset an other counter.
A simple example would be to automatic prefix all h2
and h3
tags with automatic numbering. The counter will be used in a :before
pseudo element for output.
h1 { counter-reset: h2counter; } h2:before { content: counter(h2counter) ".\0000a0\0000a0"; counter-increment: h2counter; counter-reset: h3counter; } h3:before { content: counter(h2counter)"."counter(h3counter) ".\0000a0\0000a0"; counter-increment: h3counter; counter-reset: h4counter; }
“\0000a0” is the NO-BREAK-SPACE Unicode Character.