CSS - counter-reset Property



CSS counter-reset property is used for creating a new counter or resetting an existing counter. When using the property, the counter is initialized to zero by default. The property is used in combination with counter-increment property to manage the numbering of elements.

Syntax

counter-reset: none | name number | initial | inherit;

Property Values

Value Description
none No counter is reset. Default.
name number It identifies the counter by name and resets the value to be reset on each occurence of the element. The default value is 0 if not specified.
initial It sets the property to its default value.
inherit It inherits the property from the parent element.

Examples of CSS Counter Reset Property

The following examples explain the counter-reset property with different values.

Using Counter Reset for Increasing Values

To create a counter or reset an existing one with zero default value and use it for maintaining and displaying increasing values, we can use the counter-reset property in combination with counter-increment property. This is shown in the following example.

Example

<!DOCTYPE html>
<html>

<head>
   <style>
      body {
         counter-reset: heading;
      }

      h1::before {
         counter-increment: heading;
         content: "Heading " counter(heading) ": ";
      }
   </style>
</head>

<body>
   <h2>
      CSS counter-reset property
   </h2>
   <h1>
      Introduction
   </h1>
   <p>
      This is the introduction section.
   </p>
   <h1>
      Background
   </h1>
   <p>
      This is the background section.
   </p>
   <h1>
      Conclusion
   </h1>
   <p>
      This is the conclusion section.
   </p>
</body>

</html>

Counter Reset Property with Integer Value

To create a counter or reset an existing one with a specific integer value and use it for maintaining and displaying increasing values, we can use the counter-reset property in combination with counter-increment property. This is shown in the following example.

Example

<!DOCTYPE html>
<html>

<head>
   <style>
      body {
         counter-reset: chapter 3;
      }

      h1::before {
         counter-increment: chapter;
         content: "Chapter " counter(chapter) ": ";
      }
   </style>
</head>

<body>
   <h2>
      CSS counter-reset property
   </h2>
   <h1>
      HTML
   </h1>
   <p>
      This is the HTML chapter.
   </p>
   <h1>
      CSS
   </h1>
   <p>
      This is the CSS chapter.
   </p>
   <h1>
      JAVASCRIPT
   </h1>
   <p>
      This is the JAVASCRIPT chapter.
   </p>
</body>

</html>

Using Counter Reset for Decreasing Values

To create a counter or reset an existing one with a specific integer value and use it for maintaining and displaying decreasing values, we can use the counter-reset property in combination with counter-increment property. This is shown in the following example.

Example

<!DOCTYPE html>
<html>

<head>
   <style>
      body {
         counter-reset: floor 4;
      }

      h1::before {
         counter-increment: floor -1;
         content: "Level " counter(floor) ": ";
      }
   </style>
</head>

<body>
   <h2>
      CSS counter-reset property
   </h2>
   <h1>
      Third Floor
   </h1>
   <p>
      This is third floor.
   </p>
   <h1>
      Second Floor
   </h1>
   <p>
      This is second floor.
   </p>
   <h1>
      First Floor
   </h1>
   <p>
      This is first floor.
   </p>
</body>

</html>

Using Counter Reset for Resetting Exisiting Counter

To reset an existing counter and use it for maintaining and displaying increasing or decreasing values, we can use the counter-reset property in combination with counter-increment property. This is shown in the following example.

Example

<!DOCTYPE html>
<html>

<head>

   <style>
      body {
         counter-reset: section-counter;
      }

      h3 {
         counter-increment: section-counter;
      }

      h3::before {
         content: "Section " counter(section-counter) ": ";
         font-weight: bold;
      }

      .reset-counter {
         counter-reset: section-counter 9;
      }
   </style>
</head>

<body>
   <h2>
   CSS counter-reset property
   </h2>
   <h1>
      Introduction
   </h1>
   <h3>
      Overview
   </h3>
   <h3>
      Details
   </h3>

   <div class="reset-counter">
      <h1>
         Background
      </h1>
      <h3>
         History
      </h3>
      <h3>
         Context
      </h3>
   </div>

   <h1>
      Conclusion
   </h1>
   <h3>
      Summary
   </h3>
   <h3>
      Future Work
   </h3>

</body>

</html>

Supported Browsers

Property Chrome Edge Firefox Safari Opera
counter-reset 4.0 8.0 2.0 3.1 9.6
css_reference.htm
Advertisements