CSSCSS

CSS Flexbox Example

Use Flexbox when you need one-dimensional layout control. This example builds a clean toolbar row with predictable alignment, spacing, and room for items to grow or shrink as the container changes.

Concise explanation

  • Set `display: flex` on the parent to place child elements in a single row.
  • Use `align-items: center` for vertical alignment across buttons, labels, and inputs.
  • Add `gap` instead of manual margins so spacing stays consistent as the UI changes.
  • Let the main content area grow with `flex: 1` when one item should consume extra room.

Code snippet

CSS

.toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem;
  border: 1px solid #27272a;
  border-radius: 0.875rem;
  background: #09090b;
}

.toolbar__group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.toolbar__search {
  flex: 1;
}

Quick result

A single horizontal row keeps related controls aligned, with consistent spacing between every item.

Logo
Search
Profile

Flexbox is usually the fastest choice for nav bars, toolbars, tags, and button groups.

Related examples

Related Tools

When to Use Flexbox

Flexbox works best for one-dimensional layouts where items flow in a single row or column. Common examples include nav bars, form rows, filters, button clusters, and inline UI controls.

It is especially useful when the size of child elements is unpredictable and you still need clean alignment. Properties like `justify-content`, `align-items`, and `gap` make those layouts easier to reason about than floats or older positioning techniques.

Flexbox vs Grid

Choose Flexbox when the main question is how items align along one axis. Choose Grid when you need stronger control over both rows and columns at the same time.

Many interfaces use both: Grid for the outer page structure, then Flexbox inside cards, headers, or action rows.