CSS Гнучкий (flex) контейнер
Батьківський елемент (контейнер)
Як ми вказали в попередньому розділі, це гнучкий контейнер (синя область) з трьома гнучкими елементами:
1
2
3
Гнучкий (flex) контейнер стає гнучким, якщо для властивості display
встановлено значення flex
:
Властивості гнучкого (flex) контейнера:
Властивість flex-direction
Властивість flex-direction
визначає, в якому напрямку контейнер хоче складувати гнучкі елементи.
1
2
3
Приклад
Значення column
складує гнучкі елементи по вертикалі (згори вниз):
.flex-container {
display: flex;
flex-direction: column;
}
Спробуйте самі »
Приклад
Значення column-reverse
складує гнучкі елементи по вертикалі (але знизу вгору):
.flex-container {
display: flex;
flex-direction: column-reverse;
}
Спробуйте самі »
Приклад
Значення row
складує гнучкі елементи по горизонталі (зліва направо):
.flex-container {
display: flex;
flex-direction: row;
}
Спробуйте самі »
Приклад
Значення row-reverse
складує гнучкі елементи по горизонталі (але справа наліво):
.flex-container {
display: flex;
flex-direction: row-reverse;
}
Спробуйте самі »
Властивість flex-wrap
Властивість flex-wrap
визначає, чи повинні елементи гнучкості обертатися, чи ні.
В наведених нижче прикладах є 12 гнучких елементів, щоб краще продемонструвати властивість flex-wrap
.
1
2
3
4
5
6
7
8
9
10
11
12
Приклад
Значення wrap
визначає, що гнучкі елементи будуть переноситись при необхідності:
.flex-container {
display: flex;
flex-wrap: wrap;
}
Спробуйте самі »
Приклад
Значення nowrap
визначає, що гнучкі елементи не будуть переноситися (за замовчуванням):
.flex-container {
display: flex;
flex-wrap: nowrap;
}
Спробуйте самі »
Приклад
Значення wrap-reverse
визначає, що гнучкі елементи будуть упаковані при необхідності в зворотньому порядку:
.flex-container {
display: flex;
flex-wrap: wrap-reverse;
}
Спробуйте самі »
Властивість flex-flow
Властивість flex-flow
- це скорочена властивість для встановлення властивостей flex-direction
та flex-wrap
.
Властивість justify-content
Властивість justify-content
використовується для вирівнювання гнучких елементів:
1
2
3
Приклад
Значення center
вирівнює гнучкі елементи в центрі контейнера:
.flex-container {
display: flex;
justify-content: center;
}
Спробуйте самі »
Приклад
Значення flex-start
вирівнює гнучкі елементи на початку контейнера (за замовчуванням):
.flex-container {
display: flex;
justify-content: flex-start;
}
Спробуйте самі »
Приклад
Значення flex-end
вирівнює гнучкі елементи в кінці контейнера:
.flex-container {
display: flex;
justify-content: flex-end;
}
Спробуйте самі »
Приклад
Значення space-around
відображає гнучкі елементи з пробілом до, поміж та після рядків:
.flex-container {
display: flex;
justify-content: space-around;
}
Спробуйте самі »
Приклад
Значення space-between
відображає елементи гибкости с пробелом между строками:
.flex-container {
display: flex;
justify-content: space-between;
}
Спробуйте самі »
Властивість align-items
Властивість align-items
використовується для вирівнювання гнучких елементів.
1
2
3
В цих прикладах ми використовуємо контейнер висотою 200 пікселів, щоб краще продемонструвати властивість align-items
.
Приклад
Значення center
вирівнює гнучкі елементи в середині контейнера:
.flex-container {
display: flex;
height: 200px;
align-items: center;
}
Спробуйте самі »
Приклад
Значення flex-start
вирівнює гнучкі елементи в верхній частині контейнера:
.flex-container {
display: flex;
height: 200px;
align-items: flex-start;
}
Спробуйте самі »
Приклад
Значення flex-end
вирівнює гнучкі елементи в нижній частині контейнера:
.flex-container {
display: flex;
height: 200px;
align-items: flex-end;
}
Спробуйте самі »
Приклад
Значення stretch
розтягує гнучкі елементи, щоб заповнити контейнер (за замовчуванням):
.flex-container {
display: flex;
height: 200px;
align-items: stretch;
}
Спробуйте самі »
Приклад
Значення baseline
вирівнює гнучкі елементи, наприклад вирівнює їх базові лінії:
.flex-container {
display: flex;
height: 200px;
align-items: baseline;
}
Примітка: В прикладі використовується інший розмір шрифту, щоб продемонструвати вирівнювання елементів по базовій лінії тексту:
1
2
3
Властивість align-content
Властивість align-content
використовується для вирівнювання гнучких ліній.
1
2
3
4
5
6
7
8
9
10
11
12
В цих прикладах ми використовуємо контейнер висотою 600 пікселів з властивістю flex-wrap
, встановленою на wrap
, щоб краще продемонструвати властивість align-content
.
Приклад
Значення space-between
відображає гнучкі лінії з рівним простором міє ними:
.flex-container {
display: flex;
height: 600px;
flex-wrap: wrap;
align-content: space-between;
}
Спробуйте самі »
Приклад
Значення space-around
відображає гнучкі лінії з пробілом до, поміж та після них:
.flex-container {
display: flex;
height: 600px;
flex-wrap: wrap;
align-content: space-around;
}
Спробуйте самі »
Приклад
Значення stretch
розтягує гнучкі лінії, щоб зайняти залишений простір (за замовчуванням):
.flex-container {
display: flex;
height: 600px;
flex-wrap: wrap;
align-content: stretch;
}
Спробуйте самі »
Приклад
Значення center
відображає гнучкі лінії в середині контейнера:
.flex-container {
display: flex;
height: 600px;
flex-wrap: wrap;
align-content: center;
}
Спробуйте самі »
Приклад
Значення flex-start
відображає гнучкі лінії на початку контейнера:
.flex-container {
display: flex;
height: 600px;
flex-wrap: wrap;
align-content: flex-start;
}
Спробуйте самі »
Приклад
Значення flex-end
відображає гнучкі лінії в конці контейнера:
.flex-container {
display: flex;
height: 600px;
flex-wrap: wrap;
align-content: flex-end;
}
Спробуйте самі »
Ідеальне центрування
В наступному прикладі ми вирішимо дуже розповсюджену проблему стилю: ідеальне центрування.
РІШЕННЯ: Встановіть для властивостей justify-content
та align-items
значення center
, і гнучкий елемент буде ідеально центровано:
Приклад
.flex-container {
display: flex;
height: 300px;
justify-content: center;
align-items: center;
}
Спробуйте самі »
Властивості контейнера CSS Flexbox
В наступній таблиці перераховані всі властивості контейнера CSS Flexbox:
Властивості | Опис |
---|---|
align-content | Змінює поведінку властивості flex-wrap. Це схоже на align-items, але замість вирівнювання гнучких елементів це вирівнює гнучкі лінії |
align-items | Вертикальне вирівнювання гнучких елементів, коли елементи не використовують весь доступний простір на поперечній осі |
display | Визначає тип поля, що використовується для елемента HTML |
flex-direction | Задає напрямок гнучких елементів всередині гнучкого контейнера |
flex-flow | Скорочена властивість для flex-direction та flex-wrap |
flex-wrap | Визначає, чи мають гнучкі елементи обертатися, чи ні, якщо для них недостатньо місця на одній гнучкій лінії |
justify-content | Горизонтально вирівнює гнучкі елементи, коли елементи не використовують весь доступний простір на головній осі |