Вот сниппет. Пр нажатии на кнопку первый элемент становится во всю ширину родителя, остальные элементы уезжают на вторую строку. Это требуемое поведение. Необходимо добавить анимацию изменения ширины. Без использования js, при условии что мы не знаем начальную ширину элемента, так как она всегда будет по контенту внутри. Стили можно извращать как угодно, лишь бы добиться результата.