Flexbox: Aligning Layouts the Right Way
Flex container vs items, main/cross axis, and alignment properties that interviewers ask about.
F
Frontend Interview Team
February 08, 2026
30‑second interview answer
Flexbox is a one-dimensional layout system (row or column). You set display: flex on a container, then align items along the main axis and cross axis using properties like justify-content and align-items. Flexbox shines for toolbars, navs, centering, and distributing space between items.
Flex mental model
- Flex container: the parent with
display: flex - Flex items: the direct children
- Main axis is controlled by
flex-direction:row→ main axis is horizontalcolumn→ main axis is vertical
The big 6 properties (memorize)
Container
flex-direction: row / columnjustify-content: alignment along main axisalign-items: alignment along cross axisgap: spacing between itemsflex-wrap: allow wrapping
Item
flex: shorthand for grow/shrink/basis
Centering (classic interview)
.container {
display: flex;
justify-content: center;
align-items: center;
}flex: 1 explained
flex: 1 typically means:
- grow to fill remaining space
- shrink if needed
- base size is 0
Good for layouts like:
- sidebar + content
- navbar items
align-content vs align-items (trap)
align-items: aligns items within a single linealign-content: aligns lines when there is wrapping (flex-wrap: wrap)
If there’s no wrapping, align-content does nothing.
Common mistakes
- Applying
align-itemsto items (it belongs to container) - Confusing main vs cross axis
- Forgetting that only direct children are flex items
Mini Q&A
Q1: Difference between justify-content and align-items?
- main axis vs cross axis.
Q2: When does align-content matter?
- when items wrap into multiple lines.
Q3: Flexbox vs Grid?
- Flexbox is 1D; Grid is 2D.
Summary checklist
- I can explain main/cross axis.
- I know
justify-contentvsalign-items. - I can center content quickly.
- I understand
flex: 1and wrapping.