CSS Flexbox: одновимірні розкладки
Коротко: Flexbox розташовує елементи в рядок чи стовпець, розподіляє вільне місце й вирівнює їх. Це стандартний інструмент для меню, рядів карток і центрованого вмісту.
Докладніше: Контейнер перетворюють на «flex-блок» через display: flex. Його прямі нащадки стають flex-елементами й підкоряються правилам контейнера.
Подробиці
- Головна вісь:
flex-direction: row(типово) абоcolumn. Поперечна вісь перпендикулярна їй. - Вирівнювання:
justify-contentрозподіляє вздовж головної осі (flex-start,center,space-between,space-around).align-itemsвирівнює впоперек (stretch,center,flex-start). - Проміжки:
gap: 1remзадає інтервали без хитрощів із полями. - Перенесення:
flex-wrap: wrapдозволяє елементам переноситися на наступний рядок. - Ріст і стискання:
flex: 1змушує елемент зайняти вільне місце,flex: 0 0 200pxзадає фіксовану ширину. Повністю:flex-grow,flex-shrink,flex-basis. - Центрування:
display:flex; justify-content:center; align-items:center;центрує нащадка по горизонталі та вертикалі. - Коли Grid? Для двовимірних сіток (рядки і стовпці одночасно) краще CSS Grid. Flexbox розрахований на один напрямок.
Див. також: CSS, медіазапити