Back to the index.
See the specification.
On this page I test the CSS counter
declarations.
Using the CSS counter
syntax you can define as many counters as you like in your
page, increment and reset them.
In order to use a counter, you should give it a name. In this page I create three counters: section
and subsection
for use with the headers, and example
for use with the
<pre>
s.
h3:before { content: counter(section) ": "; } h4:before { content: counter(section) "." counter(subsection) ": "; }
Now all <h3>
s and <h4>
s are preceded by their section and subsection numbers.
The syntax for showing the counter name is counter(counterName)
. The element:before
pseudo-element is the most obvious choice for showing the counter, but element:after
is also allowed.
By default, counters use decimal numbers. However, you can use any value that's also a valid value for
list-style-type (though the unordered ones don't make much sense).
For instance, I count the <pre>
s in this document by
Greek letters:
pre:before { content: "(ex " counter(example,lower-greek) ")"; }
The syntax is (counterName,list-style-type value)
.
Incrementing a counter is done through the counter-increment
declaration. For instance, I increment
the example
counter with each <pre>
in the document:
pre { counter-increment: example; }
The default increment is 1; if you want to increment it by another value, use a space and then the desired value. For instance:
pre { counter-increment: example 3; }
Now the example
counter is incremented by 3 for every <pre>
encountered.
Finally, the counter-reset
declaration allows you to reset a counter. I do that with the subsection
counter; it should reset to 0 for every <h3>
encountered.
h3 { counter-increment: section; counter-reset: subsection; } h4 { counter-increment: subsection; }
Resetting to another value than 0 requires you to state the value:
h3 { counter-reset: subsection 4; }
Now the counter is reset to 4.