I have a simple ordered list. I used counter-reset property to change the styles for number. But the issue is when the container (.list
) width is small the list doesn't align directly like an ordered list should do.
.list{
border: 1px solid black;
width: 40%;
box-sizing: border-box;
}
ol{
list-style: none;
counter-reset: csscounter;
padding-left: 0.5rem;
}
li{
counter-increment:csscounter;
margin-bottom: 0.25rem;
}
li:before{
content: counter(csscounter);
background: gray;
width: 1.5rem;
height: 1.5rem;
border-radius: 100%;
display: inline-block;
line-height: 1.5rem;
text-align: center;
color: white;
margin-right: 0.5rem;
}
<div class='list'>
<ol>
<li>
Enter your mobile number to view your book collection
</li>
<li>
Select the books that you want to add to your collection
</li>
<li>
Confirm and Submit
</li>
</ol>
</div>
If I remove the css properties for <ol>
the list renders correctly and no alignment issues occurs.
.list{
border: 1px solid black;
width: 40%;
box-sizing: border-box;
}
<div class='list'>
<ol>
<li>
Enter your mobile number to view your book collection
</li>
<li>
Select the books that you want to add to your collection
</li>
<li>
Confirm and Submit
</li>
</ol>
</div>