Flexbox - это модель раскладки элементов в CSS, которая позволяет эффективно управлять расположением элементов в контейнере и устранять проблемы с выравниванием и отображением на разных устройствах. Flexbox основан на идеи гибкого контейнера, который может изменять размер, распределение и порядок элементов внутри него.

Для создания flexbox-контейнера нужно задать свойство display со значением flex для родительского элемента. Например:

.container {
  display: flex;
}

После этого, все дочерние элементы контейнера становятся гибкими элементами, которые можно управлять с помощью дополнительных свойств.

Оси flexbox:

Flexbox работает с двумя осями: осью главного направления (main axis) и осью поперечного направления (cross axis).

  • Ось главного направления (main axis) - это ось, вдоль которой располагаются гибкие элементы. Она может быть задана с помощью свойства flex-direction. Возможные значения: rowrow-reversecolumncolumn-reverse.
  • Ось поперечного направления (cross axis) - это ось, перпендикулярная оси главного направления. Она используется для управления расположением гибких элементов вдоль оси главного направления.

Для управления расположением гибких элементов на оси главного направления и поперечной оси, можно использовать следующие свойства:

  • justify-content - выравнивание элементов вдоль оси главного направления. Возможные значения: flex-startflex-endcenterspace-betweenspace-aroundspace-evenly.
  • align-items - выравнивание элементов вдоль оси поперечного направления. Возможные значения: flex-startflex-endcenterbaselinestretch.
  • align-self - управление выравниванием отдельных элементов вдоль оси поперечного направления. Возможные значения: flex-startflex-endcenterbaselinestretch.
  • flex-direction - задает направление оси главного направления. Возможные значения: rowrow-reversecolumncolumn-reverse.
  • flex-wrap - управляет переносом элементов, когда они не помещаются в контейнер. Возможные значения: nowrapwrapwrap-reverse.
  • flex-flow - сокращенный вариант для задания свойств flex-direction и flex-wrap.
  • order - определяет порядок элементов внутри контейнера. Значение по умолчанию - 0, можно использовать отрицательные значения.

Использование flexbox позволяет создавать адаптивный макет, который будет корректно отображаться на разных устройствах, и упрощает управление расположением элементов на странице.


Назад