TaskJust observe normal flow. The HTML has three divs that stack vertically and one paragraph with two spans inline. Don't add any layout CSS. Set body font-family to system-ui, sans-serif so it's readable.
Normal flow: how the browser stacks elements by default
60 XP5 min
Theory
What "no CSS" looks like
Before flexbox, grid, or any positioning β every element follows normal flow:
- Block elements (
<div>,<p>,<h1>) stack VERTICALLY, each taking the full width of the parent. - Inline elements (
<span>,<a>,<strong>) flow HORIZONTALLY inside text, wrapping at line breaks.
<div>Block 1</div> <div>Block 2</div> <span>inline a</span> <span>inline b</span>
The result is a vertical stack of two divs, then a line with the two spans next to each other.
Why normal flow matters
Normal flow IS your layout most of the time:
- Article body β paragraphs stack vertically.
- Form β labels and inputs in a column.
- Sidebar navigation β links stacked.
Reaching for flexbox or grid on simple vertical stacks is overkill. <div>s already stack vertically for free.
When you NEED a layout engine
- Horizontal alignment ("3 cards in a row") β flexbox.
- 2-axis ("sidebar + main + topbar") β grid.
- Positioned overlays (modals, tooltips, sticky headers) β
position: fixed/absolute/sticky.
This module visits each in order: float (briefly, for history), then flexbox in depth, then grid (next module).
π
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.