Нехай у нас дано такі блоки, збудовані до ряду:
<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>
.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;
}
:
Давайте змінимо порядок їх відображення на на екрані, не змінюючи їх порядок у HTML коді.
Для цього існує властивість order,
яке задає порядок дотримання конкретних
елементів за таким правилом: у кого більше
значення, що стоїть ближче до кінця осі, а
у кого він менший - той стоїть ближче до початку.
Значення властивість може приймати позитивне
чи негативне число. За замовчуванням усі
елементи йдуть один за одним, це означає,
що order у них нульовий.
Давайте змінимо порядок наших елементів.
Для цього другому елементу встановимо
клас elem і для цього класу встановимо властивість
order в значення 1:
.elem {
order: 1;
border: 1px solid red;
}
Оскільки всі елементи за замовчуванням матимуть
порядок 0, а наш другий елемент буде
мати порядок більше, ніж інші, то він
буде розташовуватися пізніше за них:
Давайте тепер поставимо від'ємне значення
-1:
.elem {
order: -1;
border: 1px solid red;
}
В цьому випадку наш блок переміститися до початку осі:
Самостійно спробуйте роботу цієї властивості для різних напрямків осі.