Beginner Topic 8 of 51 Web Development
Flexbox
One-dimensional CSS layout system.
How it works
Flexbox is a one-dimensional layout model for arranging items along a main axis, row or column, with control over alignment on the cross axis. The container uses display: flex with properties such as flex-direction, justify-content, align-items, flex-wrap and gap; items use flex-grow, flex-shrink and flex-basis to share or shrink space. It handles distribution of space and alignment that older float layouts struggled with.
Step-by-step walkthrough
- display: flex lays children in a row along the main axis.
- justify-content spreads them along the main axis.
- align-items positions them on the cross axis.
- flex-grow lets items share spare space.
- flex-wrap moves items to a new line when needed.
Where it is used
Navigation bars, toolbars, centering content, card rows, form controls and equal-height columns use flexbox.
Common pitfall
Confusing the main and cross axes, which swap when direction changes, is the most common error. Items shrink below their content unless min-width is set, causing overflow. Using flexbox for full two-dimensional grids becomes awkward; use CSS Grid. Nested flex containers with percentage heights can behave unexpectedly. Use gap rather than margins for spacing.
Where it fits in the course
Flexbox is topic 8 of 51 in Web Development, rated Beginner. It follows Box Model. The next topic is CSS Grid.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Web Development quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Web Development quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is Flexbox?
Where do people use Flexbox?
What is the most common mistake with Flexbox?
What should I learn before this topic?
How can I practice it?
Is Flexbox hard to learn?
How long does it take to learn Flexbox?
Which topics are related to Flexbox?
What should I study after Flexbox?
Related topics
- Box Model (Web Development)
- CSS Grid (Web Development)
- CSS Selectors (Web Development)
- Responsive Design (Web Development)