Динамический размер блоков списка

Задача: Первый блок во всю ширину. Остальные в строку ниже. Размер блока высчитывается автоматически, в зависимости от количества блоков.
Решено с помошью UL LI :


/* five items */
li:first-child:nth-last-child(5) ~ li {
  width: 25%;
}
    

Представлены решения от 1 до 5 блоков.
на основе https://codepen.io/mattlubner/pen/RWPYdx