Обычно элементы располагаются в порядке их появления в разметке. Однако вы можете указать неявный порядок, используя свойство order
в css. Это разместит элементы в соответствии с их порядком. Если два элемента имеют одинаковое значение для этого свойства порядка, они останутся размещенными в соответствии с исходной разметкой. В каком-то смысле вы можете рассматривать это как форму группировки: сначала с порядком 0, затем с порядком 1, .... (установка отрицательного значения для порядка, конечно, поместит их перед группой 0 ; вот как работает трюк -1 для размещения элемента первым)
Вы можете использовать это для решения вашей проблемы, просто установив order
второго дочернего элемента на 1
, все остальные элементы будут иметь значение по умолчанию 0, поэтому должно быть указано раньше.
.child:nth-child(2) {
order: 1;
}