What is the difference between align-items and justify-content in Flexbox?
•9 min read

Here's a clean, well-written, SEO-friendly answer you can post, with clear explanation and code examples.
✅ What is the difference between align-items and justify-content in Flexbox? (With Code)
In Flexbox, justify-content and align-items control how flex items are positioned, but each works on a different axis.
🔹 1. justify-content — Aligns items on the main axis
It controls how items are spaced horizontally when flex-direction: row (default).
Example:
<div class="container">
<div class="box">A</div>
<div class="box">B</div>
<div class="box">C</div>
</div>
<style>
.container {
display: flex;
justify-content: center; /* main axis */
}
.box {
padding: 20px;
background: #90caf9;
margin: 5px;
}
</style>
JavaScript➡ This moves items left, center, right, or distributes space evenly.
🔹 2. align-items — Aligns items on the cross axis
It controls how items align vertically when flex-direction: row.
Example:
<div class="container">
<div class="box">A</div>
<div class="box tall">B</div>
<div class="box">C</div>
</div>
<style>
.container {
display: flex;
align-items: center; /* cross axis */
}
.box {
padding: 20px;
background: #a5d6a7;
margin: 5px;
}
.tall {
height: 80px;
}
</style>
JavaScript➡ This aligns items top, center, bottom, or stretches them vertically.
⭐ Simple Difference (Easy to Remember)
| Property | Aligns on | Direction |
|---|---|---|
| justify-content | Main axis | Horizontal (row) / Vertical (column) |
| align-items | Cross axis | Vertical (row) / Horizontal (column) |


