Главной частью концепции Flex является контейнер. Внутри него дочерние элементы начинают подчиняться новой логике, ее мы рассмотрели в прошлом уроке.
Display
Чтобы создать контейнер, используется свойство display
со значением flex
. Сам контейнер внешне поведет себя как блочный элемент — будет занимать всю доступную ширину. Следовательно, остальные элементы будут отображаться выше или ниже него, в зависимости от их расположения в потоке документа.
Другим возможным значением свойства display
является inline-flex
. Внутри такого контейнера все будет происходить точно так же, как и при значении flex
, но сам контейнер по поведению будет напоминать строчный элемент — он займет ровно столько пространства, сколько необходимо. Другие элементы в потоке смогут обтекать его при необходимости и наличии свободного пространства.
Flex Direction
Что же мы можем сделать с контейнером? Одна из распространенных задач с использованием флекса — перестраивание элементов с оси x на ось y. Это очень частая ситуация при создании мобильных версий сайта. Предположим, что есть флекс-контейнер с тремя дочерними элементами, которые в обычной ситуации отображаются в одну линию.
Используя правило flex-direction
, мы можем изменить главную ось для отображения элементов. Правило flex-direction
принимает одно из нескольких значений:
- column. Значение устанавливает в качестве главной оси ось y. Таким образом меняется не только направление, но и правила выравнивания элементов, которые мы изучим в следующих уроках. В качестве поперечной оси начинает выступать ось x. Данное поведение похоже на то, как если бы систему координат повернули на 90 градусов.
- column-reverse. Данное значение также выставляет в качестве главной оси ось y, но как бы «переворачивает ее». Элементы в потоке начинают отображаться с конца.
row. Стандартное отображение. В качестве главной оси выступает ось x.
row-reverse. Элементы выстраиваются по оси x, но с конца оси. Элементы также меняют свой порядок.
Самостоятельное задание
Создайте, используя CodePen, флекс-контейнер, внутри которого создайте еще один флекс-контейнер. Установите им разные значения flex-direction
, чтобы увидеть, как элементы внутри этих контейнеров будут отображены в браузере.
Документация
- flex-direction
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.