Kolejność bloków flex w CSS

Załóżmy, że mamy następujące bloki ustawione w rzędzie:

html<div class="parent">
  <div class="child">1</div>
  <div class="child">2</div>
  <div class="child">3</div>
  <div class="child">4</div>
  <div class="child">5</div>
</div>
css.parent {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 300px;
  height: 200px;
  border: 1px solid red;
}
.child {
  width: 50px;
  height: 50px;
  border: 1px solid green;
}

Результат:

Zmieńmy kolejność ich wyświetlania na ekranie, nie zmieniając ich kolejności w kodzie HTML.

Służy do tego właściwość order, która określa kolejność konkretnych elementów według następującej zasady: ten, który ma większą wartość, znajduje się bliżej końca osi, a ten, który ma mniejszą - znajduje się bliżej początku.

Wartością właściwości może być liczba dodatnia lub ujemna. Domyślnie wszystkie elementy następują po sobie, co oznacza, że order jest u nich zerowy.

Zmieńmy kolejność naszych elementów. W tym celu ustawmy drugiemu elementowi dodatkową klasę elem i dla tej klasy ustawmy właściwość order na wartość 1:

css.elem {
  order: 1;
  border: 1px solid red;
}

Ponieważ wszystkie elementy domyślnie będą miały kolejność 0, a nasz drugi element będzie miał kolejność większą niż pozostałe, to będzie się znajdował za nimi:

Ustawmy teraz wartość ujemną -1:

css.elem {
  order: -1;
  border: 1px solid red;
}

W tym przypadku nasz blok przesunie się na początek osi:

Задание 1

Samodzielnie wypróbuj działanie tej właściwości dla różnych kierunków osi.