This will make h2 get 1., 2., h3 gets 1.1, 2.1, 2.2 etc…
<style>
   body{counter-reset: section}
   h2{counter-reset: sub-section}
   h3{counter-reset: composite}
   h4{counter-reset: detail}
   h2:before{
     counter-increment: section;
     content: counter(section) " ";
   }
   h3:before{
     counter-increment: sub-section;
     content: counter(section) "." counter(sub-section) " ";
   }
   h4:before{
     counter-increment: composite;
     content: counter(section) "." counter(sub-section) "." counter(composite) " ";
   }
   h5:before{
     counter-increment: detail;
     content: counter(section) "." counter(sub-section) "." counter(composite) "." counter(detail) " ";
   }
 </style>
Source: javascript – HTML / CSS autonumber headings? – Stack Overflow
javascript – HTML / CSS autonumber headings? – Stack Overflow was last modified:  October 27th, 2017 by