Перейти к основному содержимому

Свойство CSS align-items

Положение flex-элементов по вертикали, вдоль поперечной оси, задаёт свойство align-items.

Оно принимает такие значения:

  • normal (по умолчанию)
  • stretch
  • center
  • flex-start
  • flex-end
  • baseline

Center

Значение center размещает flex-элементы посередине высоты контейнера.

Prompt
Создайте flex-контейнер высотой 200px с тремя пронумерованными flex-элементами. Используйте align-items: center, чтобы выровнять элементы по вертикали по центру. Задайте контейнеру светлый фон, а каждому элементу — свой отдельный цвет фона.
Результат: полная HTML-страница

Flex-start

Значение flex-start выстраивает flex-элементы по верхнему краю контейнера.

Prompt
Создайте flex-контейнер высотой 200px с тремя пронумерованными flex-элементами. Используйте align-items: flex-start, чтобы выровнять элементы по верхнему краю контейнера. Задайте контейнеру светлый фон, а каждому элементу — свой отдельный цвет фона.
Результат: полная HTML-страница

Flex-end

Значение flex-end выстраивает flex-элементы по нижнему краю контейнера.

Prompt
Создайте flex-контейнер высотой 200px с тремя пронумерованными flex-элементами. Используйте align-items: flex-end, чтобы выровнять элементы по нижнему краю контейнера. Задайте контейнеру светлый фон, а каждому элементу — свой отдельный цвет фона.
Результат: полная HTML-страница

Stretch

Значение stretch заставляет flex-элементы увеличиваться, пока они не заполнят контейнер. Оно ведёт себя так же, как значение по умолчанию, normal.

Prompt
Создайте flex-контейнер высотой 200px с тремя пронумерованными flex-элементами. Используйте align-items: stretch, чтобы элементы заполняли всю высоту контейнера. Задайте контейнеру светлый фон, а каждому элементу — свой отдельный цвет фона. Не задавайте элементам высоту.
Результат: полная HTML-страница

Свойство CSS align-content

Если align-items перемещает элементы, то align-content перемещает сами flex-линии, и его действие заметно, только когда flex-элементы переносятся на несколько линий.

Оно принимает такие значения:

  • stretch (по умолчанию)
  • center
  • flex-start
  • flex-end
  • space-between
  • space-around
  • space-evenly

Center

Здесь center собирает flex-линии ближе к середине контейнера.

Prompt
Создайте flex-контейнер высотой 400px, с flex-wrap: wrap и align-content: center. Добавьте девять пронумерованных flex-элементов шириной около 33%, чтобы они переносились на несколько строк. Задайте контейнеру светлый фон, а каждому элементу — свой отдельный цвет фона.
Результат: полная HTML-страница

Space-between

Здесь space-between оставляет одинаковое расстояние от одной flex-линии до следующей.

Prompt
Создайте flex-контейнер высотой 400px, с flex-wrap: wrap и align-content: space-between. Добавьте девять пронумерованных flex-элементов шириной около 33%, чтобы они переносились на несколько строк. Задайте контейнеру светлый фон, а каждому элементу — свой отдельный цвет фона.
Результат: полная HTML-страница

Точное центрирование с помощью Flexbox

Чтобы отцентрировать элемент в обоих направлениях, нужны два объявления у flex-контейнера: justify-content: center и align-items: center. Тогда flex-элемент окажется точно посередине и по горизонтали, и по вертикали.

Пример

Prompt
Создайте flex-контейнер высотой 400px, который использует одновременно justify-content: center и align-items: center, чтобы идеально отцентрировать один flex-элемент. Элемент должен отображать текст «Точное центрирование». Задайте контейнеру светлый фон, а элементу — отдельный цвет фона.
Результат: полная HTML-страница