An ordered list with a custom counter:
ol {
/*list-style-type:decimal-leading-zero;*/
list-style: none;
padding-left: 0px;
counter-reset: item;
}
ol>li {
display: table;
counter-increment: item;
}
ol>li:before {
display: table-cell;
padding: 0 0.5em 0 0;
content: counter(item) ".";
font-weight: bold;
}
<ol>
<li>List item one.</li>
<li>List item two.</li>
<li>List item three.</li>
<li>List item four.</li>
<li>List item five.</li>
<li>List item six.</li>
<li>List item seven.</li>
<li>List item eight.</li>
<li>List item nine.</li>
<li>List item ten.</li>
</ol>
A leading zero before any list item numbered less than 10.
I.e. 01, 02, 03, 04, 05, 06, 07, 08, 09, 10.
How can I achieve the required leading zero via CSS?
A space between selectors will get all matching elements below it, no matter how far down in the tree, so your ol li selector will select all li elements, at all three levels. Use the > selector to get direct children. You also need to anchor them to something at the top level, say a div .
If you want to number items in order, you can use the <ol> (ordered list) tag. But it is kind of hard to style those list numbers in CSS. There is an easier way to create a number styled list of item using the :before pseudo element along with counter properties.
From: Sven Wolfermann via CodePen
You can add a leading zero by including decimal-leading-zero
to your li:before{ content: counter(...); }
li:before {
counter-increment: li;
content: counter(item, decimal-leading-zero);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With