Ordered lists aren’t the only elements that can be automatically numbered. Thanks to the various counter-related properties, any element can be.
<body> <section></section> <section></section> <section></section> <section></section> </body>
body {
counter-reset: my-awesome-counter;
}
section {
counter-increment: my-awesome-counter;
}
section:before {
content: counter(my-awesome-counter);
}
Each <section> will respectively start with “1”, “2”, “3”, or “4”.
You can control the style of the counter by comma separating the counter function. e.g. to make them use Roman numerals:
section:before {
content: counter(my-awesome-counter, upper-roman);
}
Demo
<section>
<ol>
<li>Go to store</li>
<li>Go to meat counter</li>
<li>Ask butcher for skirt steak</li>
</ol>
</section>
<section>
<ol>
<li>Drive home</li>
<li>Park safely</li>
<li>Start grill</li>
</ol>
</section>
<section>
<ol>
<li>Marinate steak</li>
<li>Put on grill</li>
<li>Wait 8 minutes and flip</li>
</ol>
</section>
<section>
<ol>
<li>Bring steak inside</li>
<li>Wait 10 minutes</li>
<li>Eat</li>
</ol>
</section>
body {
background: #f06d06;
counter-reset: mega-step, mini-step;
}
section {
width: 20%;
float: left;
margin: 20px;
background: white;
counter-increment: mega-step;
padding: 5px;
}
section:before {
content: counter(mega-step, upper-roman);
display: block;
padding: 10px;
background: #f06d06;
width: 10%;
text-align: center;
color: white;
}
var isFirst = true, numLi = 1;
$("ol").each(function() {
var list = $(this);
list.attr("start", numLi);
numLi = numLi list.find("li").length;
});
Browser Support
| Chrome | Safari | Firefox | Opera | IE | Android | iOS |
|---|---|---|---|---|---|---|
| 2+ | 3.1+ | Any | 9.2+ | 8+ | TBD | TBD |

Share
Tweet
Email
Leave a Reply