6.1 Властивість flex-direction
Flexbox надає гнучкі і потужні засоби для створення адаптивних макетів. Важливою частиною цієї системи є осі компонування, які визначають, як Flex-елементи будуть розташовуватись всередині Flex-контейнера. Нижче ми детально розглянемо властивості flex-direction і flex-wrap, які керують напрямком осей і поведінкою Flex-елементів при переповненні.
Властивість flex-direction визначає напрямок головної осі, вздовж якої будуть розташовуватись Flex-елементи. Цей напрямок може бути горизонтальним або вертикальним, а також прямим або зворотним.
Значення:
row: головна вісь йде горизонтально зліва направо (значення за замовчуванням)row-reverse: головна вісь йде горизонтально справа налівоcolumn: головна вісь йде вертикально зверху внизcolumn-reverse: головна вісь йде вертикально знизу вгору
Приклад використання
1. Елементи розташовуються горизонтально:
.container-row {
display: flex;
flex-direction: row;
border: 2px solid #000;
padding: 10px;
}
.container-row-reverse {
display: flex;
flex-direction: row-reverse;
border: 2px solid #000;
padding: 10px;
}
.item {
background-color: #3498db;
color: white;
padding: 10px;
margin: 5px;
}
<div class="container-row">
<div class="item">Елемент 1</div>
<div class="item">Елемент 2</div>
<div class="item">Елемент 3</div>
</div>
<div class="container-row-reverse">
<div class="item">Елемент 1</div>
<div class="item">Елемент 2</div>
<div class="item">Елемент 3</div>
</div>
2. Елементи розташовуються вертикально:
.container-column {
display: flex;
flex-direction: column;
border: 2px solid #000;
padding: 10px;
}
.container-column-reverse {
display: flex;
flex-direction: column-reverse;
border: 2px solid #000;
padding: 10px;
}
.item {
background-color: #3498db;
color: white;
padding: 10px;
margin: 5px;
}
<div class="container-column">
<div class="item">Елемент 1</div>
<div class="item">Елемент 2</div>
<div class="item">Елемент 3</div>
</div>
<div class="container-column-reverse">
<div class="item">Елемент 1</div>
<div class="item">Елемент 2</div>
<div class="item">Елемент 3</div>
</div>
Пояснення коду:
.container-row: елементи розташовуються горизонтально зліва направо.container-row-reverse: елементи розташовуються горизонтально справа наліво.container-column: елементи розташовуються вертикально зверху вниз.container-column-reverse: елементи розташовуються вертикально знизу вгору
6.2 Властивість flex-wrap
Властивість flex-wrap визначає, чи будуть Flex-елементи переноситись на новий рядок/стовпець, якщо вони не вміщаються в один рядок. Це особливо корисно для створення адаптивних макетів, де розмір контейнера може змінюватись залежно від пристрою або екрану.
Значення
nowrap: елементи не переносяться і розташовуються в один рядок/стовпець (значення за замовчуванням)wrap: елементи переносяться на новий рядок/стовпець за потребиwrap-reverse: елементи переносяться на новий рядок/стовпець у зворотному порядку
Приклади використання
Значення nowrap:
Елементи не переносяться і розташовуються в один рядок/стовпець (значення за замовчуванням).
.container-nowrap {
display: flex;
flex-wrap: nowrap;
border: 2px solid #000;
padding: 10px;
width: 300px;
}
.item {
background-color: #3498db;
color: white;
padding: 10px;
margin: 5px;
width: 100px;
}
<div class="container-nowrap">
<div class="item">Елемент 1</div>
<div class="item">Елемент 2</div>
<div class="item">Елемент 3</div>
<div class="item">Елемент 4</div>
</div>
Значення wrap:
Елементи переносяться на новий рядок/стовпець за потреби.
.container-wrap {
display: flex;
flex-wrap: wrap;
border: 2px solid #000;
padding: 10px;
width: 300px;
}
.item {
background-color: #3498db;
color: white;
padding: 10px;
margin: 5px;
width: 100px;
}
<div class="container-wrap">
<div class="item">Елемент 1</div>
<div class="item">Елемент 2</div>
<div class="item">Елемент 3</div>
<div class="item">Елемент 4</div>
</div>
Значення wrap-reverse:
Елементи переносяться на новий рядок/стовпець у зворотному порядку.
.container-wrap-reverse {
display: flex;
flex-wrap: wrap-reverse;
border: 2px solid #000;
padding: 10px;
width: 300px;
}
.item {
background-color: #3498db;
color: white;
padding: 10px;
margin: 5px;
width: 100px;
}
<div class="container-wrap-reverse">
<div class="item">Елемент 1</div>
<div class="item">Елемент 2</div>
<div class="item">Елемент 3</div>
<div class="item">Елемент 4</div>
</div>
Пояснення коду:
.container-nowrap: Flex-елементи розташовуються в один рядок, навіть якщо вони виходять за межі контейнера.container-wrap: Flex-елементи переносяться на новий рядок, якщо не вміщаються в один рядок.container-wrap-reverse: Flex-елементи переносяться на новий рядок у зворотному порядку
6.3 Використання flex-direction і flex-wrap
Властивості flex-direction і flex-wrap можна комбінувати за допомогою скороченої властивості flex-flow. Це властивість дозволяє задавати напрямок осі і перенесення елементів одночасно.
Синтаксис:
.container {
flex-flow: [flex-direction] [flex-wrap];
}
Приклад використання:
.container {
display: flex;
flex-flow: row wrap;
border: 2px solid #000;
padding: 10px;
width: 300px;
}
.item {
background-color: #3498db;
color: white;
padding: 10px;
margin: 5px;
width: 100px;
}
<div class="container">
<div class="item">Елемент 1</div>
<div class="item">Елемент 2</div>
<div class="item">Елемент 3</div>
<div class="item">Елемент 4</div>
<div class="item">Елемент 5</div>
</div>
Пояснення коду:
-
.container: Flex-контейнер зі спільним використаннямflex-direction: row;іflex-wrap: wrap;, що означає, що елементи розташовуються по горизонталі і переносяться на новий рядок за потреби
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ