Varje element har ett standard display-beteende som styr hur det flödar i layouten.
<div>, <p>, <h1>, <section>, <ul>.<span>, <a>, <strong>, <em>.<p>This is a <strong>bold</strong> word inside a paragraph.</p>
<!-- <strong> stays inline; the two <div>s below stack vertically -->
<div>Block one</div>
<div>Block two</div>
span { width: 200px; height: 50px; } /* ❌ ignored — span is inline */
Att ställa width/height på ett inline-element gör inget. Lösningen är att ändra dess display:
span { display: inline-block; width: 200px; } /* ✅ flows inline BUT respects size */
inline-block sitter i textflödet (sida vid sida) och respekterar bredd/höjd/marginaler – perfekt för navigeringselement, märken eller knappar utlagda i en rad.
block → new line, full width, sizeable
inline → in-line, content width, NOT sizeable (vertically)
inline-block → in-line, content flow, sizeable
Att förstå standard display förklarar varför din <span> inte accepterar en höjd, varför <div>-ar stackas, och när man ska växla till inline-block, flex eller grid.
Det är grunden för hur element arrangeras innan du använder något layoutsystem.