Skip to main content
← 🎨 CSS as a design systemΒ·Module B2 Β· Lesson 5
TaskBuild a nav bar. <nav class='nav'> contains a <strong>Brand</strong> and a <div class='links'>Home | About</div>. Style .nav with display: flex, justify-content: space-between, align-items: center, padding: 12px 24px, background: #18181B, color: white.

justify-content: main-axis distribution

100 XP8 min
Theory

How items spread along the main axis

.container { display: flex; }
.container { justify-content: flex-start; }     /* all at the start (default) */
.container { justify-content: flex-end; }       /* all at the end */
.container { justify-content: center; }         /* all bunched in the middle */
.container { justify-content: space-between; }  /* first at start, last at end, equal gaps */
.container { justify-content: space-around; }   /* equal space on both sides of each */
.container { justify-content: space-evenly; }   /* equal space between AND at the edges */

The 3 you'll use most

  • `space-between` β€” for nav bars where the logo is on the left and links are on the right.
  • `center` β€” for centering content blocks (a hero CTA, an empty state).
  • `flex-end` β€” for "actions at the right" patterns (form footer buttons).

Demo: nav bar with logo + links

<nav class="nav">
  <strong>Brand</strong>
  <div class="links"><a>Home</a> <a>About</a></div>
</nav>
.nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

Two children: Brand and Links. space-between pushes Brand to the left edge, Links to the right edge. Perfect nav bar in 3 lines.

When main axis is vertical (flex-direction: column)

justify-content now controls VERTICAL placement. center centers items vertically within the container. Use this for "vertically centered hero" β€” the classic CSS problem solved in one line.

πŸ”’

Sign up to start coding

Theory is open to everyone. The interactive editor, live preview, and check are unlocked with a 7-day free trial β€” card required, cancel anytime.

Sign up β€” free trial β†’

First 10 lessons in each track are free. No card needed for those.

← PreviousNext lesson β†’

Get one Python or web tip a day β€” by email

Short, hand-written, no spam. Unsubscribe in one click.