Expression Studio 4.0
important noteImportant

This documentation is preliminary and is subject to change.

Sets a list of counters to create or reset to zero.


{ counter-reset: sCounter }

Possible values


String that specifies a space-delimited list of counters, including one or both of the following values.


The name of the counter, optionally followed by an integer.


The initial value of the counter. The default value is 0.

This property has no default value. It is not inherited.


The counter-reset attribute can contain a list of one or more counters, each one optionally followed by an integer. The integer represents the value that the counter is set to after each occurrence of the element.

If an element both resets and increments a counter, the counter is reset first and then incremented. If the same counter is specified more than once, each reset or increment of the counter is processed in the order specified.

The counter-increment and counter-reset attributes follow the rules of the CSS cascade. Given two style declarations with the same specificity, only the last one encountered will be processed.

An element that is not displayed (display attribute set to none) and pseudo-elements that do not generate content (content attribute set to normal) cannot increment or reset a counter.


The following example demonstrates automatic chapter and section numbering using counter-reset, counter-increment, and content. The chapter counter is set to zero for the body element, and then incremented for each h1 element encountered. The section counter is reset for each h1 element and incremented for each h2 element. When the page is viewed, each h1 element is preceded by a chapter heading of the form "Chapter X. ", while each h2 element is preceded by a section number of the form "X.N ".

<meta http-equiv="X-UA-Compatible" content="IE=8" />
<style type="text/css">
body {
    counter-reset: chapter;      /* Create a chapter counter */
h1 {
    counter-increment: chapter;  /* Add 1 to chapter */
    counter-reset: section;      /* Set section to 0 */
h1:before {
    content: "Chapter " counter(chapter) ". ";
h2 {
    counter-increment: section;
h2:before {
    content: counter(chapter) "." counter(section) " ";

Because of a conflicting set of style rules, in the following example only the imagenum counter is reset. To reset both counters, put them together in the same rule.

h1 { counter-reset: section -1 }
h1 { counter-reset: imagenum 99 }

Standards information

Applies to

a, address, b, big, blockquote, body, button, caption, center, cite, code, col, colgroup, custom, dd, defaults, dfn, div, dl, dt, em, fieldset, form, hn, html, i, img, input type=button, input type=checkbox, input type=file, input type=image, input type=password, input type=radio, input type=reset, input type=submit, input type=text, li, ol, p, s, span, sub, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, var, xmp

See also

Send feedback about this topic to Microsoft. © 2011 Microsoft Corporation. All rights reserved.

Community Additions