СSS Flexbox Layout (flexible box layout module) - это один из наиболее удобных, гибких и простых способов расположения элементов относительно друг друга на HTML-странице.
У flexbox есть две оси, по которым мы можем выравнивать элементы - main axis (главная ось) и cross axis (побочная ось). Обязательно нужно помнить о невозможности позиционирования одновременно по двум осям (для такого случая лучше подойдет CSS Grid Layout). flex-direction - свойство, определяющее главную ось, может принимать одно из следующих значений: Дефолтное поведение по стандартному флоу HTML - блоки отобразятся сверху вниз, занимая всю ширину <body>. (Дефолтное значение свойства display: block;)
Когда мы применим свойство display: flex; к блоку с классом .container, каждый его дочерний элемент (элемент первого порядка, лежащий внутри . container), станет flex-item, и получит новое дефолтное поведение:
⠀
⠀- дети (айтемы) встанут друг за другом в одну строку (по дефолту flex-direction: row;)
⠀- по порядку айтем