Что такое Flexbox

Flexbox (CSS Flexible Box Layout) – это модель макета, которая позволяет упорядочивать элементы во flex-контейнере. Объекты внутри контейнера называются flex-элементами. Они равномерно распределяются по контейнеру, меняя свои размеры и позиции согласно установленным правилам упорядочивания и размещения в пространстве. С помощью Flexbox можно упорядочить разные по величине элементы в строках или столбцах так, чтобы более крупные объекты занимали больше места, чем объекты меньшего размера.

Где найти настройки Flexbox

Они находятся в панели "Адаптивные" на вкладке Flexbox.

Как пользоваться Flexbox

Установите флажок Использовать Flexbox. Текущий родительский элемент станет flex-контейнером, а на панели "Адаптивные" появятся свойства Flexbox.

Flexbox нельзя использовать в следующих случаях:

  • текущий родительский элемент – текстовый, например <p> или <h1>;
  • текущий родительский элемент содержит строчные элементы, например <span> или <a> (это не относится к родительским элементам, представляющим собой страницы).

Все прямые дочерние объекты внутри контейнера теперь будут flex-элементами, за исключением вспомогательных слоев. Flex-элементы будут упорядочены по главной оси. Вы можете сделать ее горизонтальной или вертикальной, а также выбрать направление, в котором на ней будет размещаться контент. Поскольку ориентацию и направление во Flexbox можно менять, свойства принимают такие значения, как flex-start и flex-end вместо top, bottom, left или right.

Направление

Это свойство позволяет устанавливать главную ось и направление, в котором располагаются элементы.

Значение Поведение Главная ось
row Flex-элементы выстраиваются в строки в направлении написания и чтения текста (слева направо для таких языков, как русский).
Горизонтальная
row-reverse Flex-элементы выстраиваются в строки в направлении, противоположном написанию и чтению текста (справа налево для таких языков, как русский).
Горизонтальная
column Flex-элементы выстраиваются в столбцы в направлении потока контента (как правило, сверху вниз).
Вертикальная
column-reverse Flex-элементы выстраиваются в столбцы в направлении, противоположном потоку контента (как правило, снизу вверх).
Вертикальная

Интервал

Это свойство позволяет устанавливать расстояние между flex-элементами. Оно может подбираться автоматически или согласно заданным значениям.

Интервал Поведение
Стандартный Flex-элементы автоматически размещаются во flex-контейнере в соответствии с настройками переносов и выравнивания по главной и поперечной осям.
Фиксированный Flex-элементы размещаются согласно заданным значениям интервалов между дочерними элементами и интервалов между дочерними элементами и границами контейнера.

Выравнивание

Это свойство позволяет устанавливать порядок размещения flex-элементов на главной оси. Настройка свойства доступна при использовании стандартного интервала.

Значение Поведение
flex-start Flex-элементы размещаются в начале строки или столбца.
flex-end Flex-элементы размещаются в конце строки или столбца.
center Flex-элементы размещаются в середине главной оси.
space-between Flex-элементы равномерно распределяются по главной оси так, чтобы первый был в начале контейнера, а последний – в конце.
space-around Flex-элементы равномерно распределяются по главной оси, при этом первый и последний располагаются у границ контейнера с отступом от края в половину интервала.
space-evenly Flex-элементы равномерно распределяются по главной оси с одинаковым интервалом, который также сохраняется для первого и последнего элементов.

Выравнивание по поперечной оси

Это свойство позволяет управлять размещением flex-элементов на поперечной оси текущей строки или столбца.

Значение Поведение
flex-start Flex-элементы располагаются в начале поперечной оси.
flex-end Flex-элементы располагаются в конце поперечной оси.
center Flex-элементы располагаются в середине поперечной оси.
stretch Flex-элементы растягиваются и занимают всю поперечную ось.
baseline Flex-элементы располагаются на поперечной оси так, что их базовые линии находятся на одном уровне.

Перенос

Это свойство позволяет включать и отключать перенос объектов внутри контейнера. Настройка свойства доступна при использовании стандартного интервала.

Значение Поведение
nowrap Flex-элементы располагаются в одну строку или один столбец.
wrap Flex-элементы будут формировать несколько строк или столбцов, когда перестанут помещаться в одну строку или один столбец.
wrap-reverse Flex-элементы будут формировать несколько строк или столбцов в направлении, противоположном поперечной оси, если не поместятся в одну строку или один столбец.

Выравнивание при переносе

Это свойство позволяет управлять размещением во flex-контейнере нескольких строк или столбцов на поперечной оси, перпендикулярной главной. Настройка свойства доступна при использовании переноса и стандартного интервала.

Значение Поведение
flex-start Строки или столбцы располагаются в начале контейнера без расстояния между ними.
flex-end Строки или столбцы располагаются в конце контейнера без расстояния между ними.
center Строки или столбцы располагаются в середине поперечной оси.
stretch Строки или столбцы растягиваются по поперечной оси так, чтобы заполнить все доступное пространство, за исключением случаев, когда для них установлена фиксированная высота.
space-between Строки или столбцы равномерно распределяются по поперечной оси, при этом первая и последняя строка или столбец располагается в начале и конце контейнера соответственно.
space-around Строки или столбцы равномерно распределяются по поперечной оси, при этом отступ от границ контейнера составляет половину интервала.

Интервал между дочерними элементами

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

Интервал от границ контейнера

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

Порядок дочерних элементов

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

Переставлять элементы можно также прямо в рабочей области.

Свойства дочерних элементов во Flexbox

У flex-элементов тоже есть свойства. Чтобы посмотреть и изменить Flexbox-настройки элемента, нажмите на него.

Flex-элементы могут растягиваться и сжиматься только с учетом минимальной и максимальной ширины и высоты. Свойства left и top у flex-элементов отключены, так как они определяются настройками Flexbox, а вот свойства преобразования можно использовать, чтобы смещать элементы.

Выравнивание по поперечной оси

Это свойство переопределяет выравнивание по поперечной оси, заданное для контейнера по умолчанию.

Значение Поведение
auto Для flex-элемента действуют настройки выравнивания по поперечной оси, примененные к flex-контейнеру.
baseline Базовая линия flex-элемента находится на одном уровне с базовыми линиями других flex-элементов с такими же настройками расположения.
center Flex-элемент располагается в центре поперечной оси.
flex-end Flex-элемент располагается в конце контейнера по поперечной оси.
flex-start Flex-элемент располагается в начале контейнера по поперечной оси.
stretch Flex-элемент растягивается по поперечной оси так, чтобы заполнить весь контейнер, за исключением случаев, когда для такого элемента установлена фиксированная высота.

Фактор растяжения flex-элемента

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

Например, если в строке три flex-элемента с факторами растяжения 1, 1 и 2, последний из них займет в два раза больше свободного места в ряду, чем первые два по отдельности.

Если сумма факторов растяжения flex-элементов в ряду меньше 1, то такие элементы могут не занять все свободное место.

Flex-элемент с фактором растяжения 0 увеличиваться не будет.

Фактор сжатия flex-элемента

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

Например, если в строке три flex-элемента с факторами сжатия 1, 1 и 2, последний из элементов сожмется сильнее, чем два других по отдельности. Фактор сжатия учитывает размер flex-элемента.

Flex-элемент с фактором сжатия 0 сжиматься не будет.

Эта информация оказалась полезной?

Как можно улучшить эту статью?
Поиск
Очистить поле поиска
Закрыть поиск
Главное меню
16153566175281021739
true
Поиск по Справочному центру
true
true
true
true
true
5050422
false
false