Есть задача распределить блоки равномерно в линиях. То есть: край первого по левому краю контейнера, край последнего по правому краю контейнера. Остальное место распределяется между блоками равномерно. Конечно, сразу же напрашивается: flexbox + justify-content:space-between. Как раз то, что нужно, но есть пара моментов, которые всё портят:
1. Если блока 2 то:

Есть конечно вариант обойти с помощью проверки количества (т.к. у меня в ряд 3, то всё, что <3, другой класс), но этот вариант не учитывает второй случай:
2. А если блоков 5:

Я конечно понимаю, что можно мудрить с отрицательными отступами. Но может есть что-то красивее?