Block, Inline, and Inline-block Elements
Block, Inline, and Inline-block Elements
Understanding block and inline formatting helps explain why some width and height declarations seem to have no effect.
What you’ll learn
- Identify inline formatting and block formatting behavior.
- Use inline-block for a compact card or chip.
- Predict whether declared width applies to inline content.
Understand the concept
A block box in normal flow typically starts on a new line; ordinary inline boxes flow among words. An inline element such as span does not behave like an independently sized block: its width and height declarations do not determine its inline layout box in the same way.
inline-block is useful for badges and compact controls that need padding and explicit dimensions while remaining in an inline row. In modern components, Flexbox is often more predictable for alignment.
What the browser evaluates
Inline content participates in line layout; inline-block contributes a rectangular atomic inline-level box.
Observe inline behavior
Inline spans share a line with ordinary text.
HTML
<p class="inline-note">Your status is <span>Ready</span> and your ticket is <span>Confirmed</span>.</p>CSS
.inline-note { line-height: 2; }
.inline-note span { display: inline; color: #1d4ed8; background: #dbeafe; padding: 3px; width: 140px; }Rendered output
Your status is Ready and your ticket is Confirmed.
Observe: The highlighted spans remain in the text flow; the declared width does not reserve a 140px box.
Convert badges to inline-block
Give tags real padding and minimum width without taking separate rows.
HTML
<p class="inline-note">Tags: <span>Design</span> <span>CSS</span> <span>Layout</span></p>CSS
.inline-note { line-height: 2.3; }
.inline-note span { display: inline-block; min-width: 64px; text-align: center; background: #ccfbf1; border: 1px solid #5eead4; border-radius: 999px; padding: 3px 9px; }Rendered output
Tags: Design CSS Layout
Observe: Each badge reserves a distinct rounded box within the line.
Explain the result
Inline content participates in line layout; inline-block contributes a rectangular atomic inline-level box.
Compare the two examples: identify the selector, each changed property, and which visible part of the output proves that the CSS took effect.
Common mistakes to avoid
- Inline elements may paint horizontal padding without gaining independent block geometry.
- Do not use inline-block to force a complex two-dimensional application layout.
Try it yourself
Change badge width and display, compare inline, inline-block and block, and predict each row break.
Before changing the code, predict what will change. Then verify by checking the rendered result.
Check your understanding
What you should remember
Choose block, inline or inline-block based on layout requirements, not on appearance alone.
Revisit the rendered examples if the rule still feels abstract. Change one declaration at a time so you can connect cause and effect.
Reaching the recap and completing the quizzes are separate milestones.