Как расположить флекс элемент правильно?

Расположение флекс элементов в HTML можно легко управлять с использованием CSS свойства display: flex. Это свойство применяется к родительскому элементу, чтобы определить его дочерние элементы как флекс контейнеры, то есть элементы, которые должны быть расположены в строчку или столбец в зависимости от направления осей.

Когда вы устанавливаете display: flex, флекс контейнер будет автоматически распределять доступное пространство между своими дочерними элементами, основываясь на их размерах и параметрах выравнивания.

Вот некоторые основные свойства, которые вы можете использовать, чтобы располагать флекс элементы правильно:

1. flex-direction: Это свойство определяет направление осей, вдоль которых будут располагаться дочерние элементы. Значениями могут быть row (строчно), column (столбцы), row-reverse (обратная строчка) и column-reverse (обратный столбец).

Пример:

.container {
  display: flex;
  flex-direction: row; /* или column */
}

2. justify-content: Свойство justify-content определяет выравнивание флекс элементов вдоль главной оси. Значениями могут быть flex-start (в начале), flex-end (в конце), center (по центру), space-between (равномерно распределены по оси) и space-around (равномерно распределены с промежутками).

Пример:

.container {
  display: flex;
  justify-content: center; /* или flex-start, flex-end, space-between, space-around */
}

3. align-items: Свойство align-items определяет выравнивание флекс элементов вдоль поперечной оси. Значениями могут быть flex-start (в начале), flex-end (в конце), center (по центру), baseline (по базовой линии) и stretch (растянуть чтобы заполнить доступное пространство).

Пример:

.container {
  display: flex;
  align-items: center; /* или flex-start, flex-end, baseline, stretch */
}

Это лишь некоторые из основных свойств, которые можно использовать для управления расположением флекс элементов. Есть и другие свойства, такие как flex-wrap (когда флекс элементов будет неонделированно до подходящего размера контейнера), flex-grow (укажите свой child flex элемент будет растянут до всех доступных пространства) и flex-shrink (укажите свой child flex элемент будет сжат до поместиться в доступное пространство).
Также в CSS3 было добавлено много новых свойств для более точного управления выравниванием и размерами флекс элементов.

Главное, помните, что флекс контейнер должен быть установлен на родительском элементе, который содержит флекс элементы, а родительский элемент также должен иметь установленную ширину (или высоту, в зависимости от flex-direction), чтобы флекс элементы могли правильно располагаться внутри него.